본문 바로가기

MultiSearcher

[Lucene] MultiSearcher의 사용 (3.0.3 기준) -2- IndexSearcher는 Index의 변경 내용을 그 상태로는 인지 하지 못 합니다. 주로 IndexWriter에 의해서 추가적인 색인이 되거나 IndexReader에 의한 삭제등이 될텐데요.. 제가 구현하고 있는 프로그램도 하루에 한번 로그를 분석 후 색인을 추가하기 때문에 색인 파일 변경에 대한 감지를 하여 이를 처리 할 수 있어야 했습니다. MultiSearcher를 사용했기 때문에 각 Searcher들이 바라보고 있는 Index파일들을 모두 체크하여 인덱스 파일이 변경되었을 경우 Index파일을 다시 열어서 IndexSearcher를 다시 생성하는 방법을 사용하기로 하였습니다. 각 Searcher별로 가지고 있는 IndexReader를 MultiSearcher로 부터는 직접적으로 얻을 수 없었기.. 더보기
[Lucene] MultiSearcher의 사용 (3.0.3 기준). -1- 이걸 쓴다쓴다 하면서 이제서야 써보네요.... 회사에서 간단하게 조회 할 수 있는 프로그램을 만들면서 루씬을 사용하여 데이터를 저장하고 조회 할 수 있도록 하였습니다. 검색어를 분석/통계 내는 프로그램인데 하루 몇십만건의 검색어와 그외 부가적은 데이터들을 색인하여 놓다보니.. 이게 1년이 넘어가자 인덱스 파일의 크기가 10G를 훌쩍 넘어가버리더군요.. 그래서 이번에 프로그램을 업그레이드 하면서 인덱스 파일을 년도별로 분리시키면서, 루씬에서 제공되는 MultiSearcher를 사용해보기로 하고 개발을 진행하였습니다. 1.단일 인덱스 파일로부터의 검색 그냥 기본적으로 검색을 한다고 하면 위와 같은 방식으로 검색을 하게 됩니다. 루씬에서 제공하는 MultiSearcher를 사용하기는 간단합니다. 위와 같은 단.. 더보기