쩝... 계속 발전하는 루씬의 모습을 보면 기분은 좋긴한데...
2.0으로 만들었던 걸 2.3으로 다시 만들어서 런칭한 날 2.4가 나오다니 --;;

게다가 2.4에는 바뀐것도 많다.
심지어 changelog 형식도 바뀌었군요 ㅋㅋ


역시나 별로 관심 없지만 뭐가 바뀌었는지 궁금하긴 한 사람들을 위해 중요 point만 정리해볼까 합니다.

가장 큰 변화
Lucene 2.4.0 includes index format changes that are not readable by older versions of Lucene. Lucene 2.4.0 can both read and update older Lucene indexes. Adding to an index with an older format will cause it to be converted to the newer format.
index format을 또(과거 2.1.0에서 한번 변경 되었다.) 변경하셨다. 그래서 이전 버젼으로 만든 lucene서버에서는 새 index format을 읽을 수 없다. 당연하지만 새 버젼으로 만든 lucene으로는 기존 버젼의 index를 읽을 수 있지만... 

기타 변화들 중 중요한 변화를 change log에서 뽑아볼까 했으나 이미 여기에 정리가 다 되어 있는 것 같아서 그냥 한글로만 정리해 볼까 합니다.

- "InstantiatedIndex"라는 class가 생겼는데, 기존의 RAMDirectory보다 훨씬 빠르다고 한다. 테스트 해 봐야겠네요.

- IndexWrite가 indexing 중에 OS의 문제나 갑자가 power가 꺼져도 index가 깨지지 않는다고 한다. 이건 맘에 들지만.. 여지껏 index가 깨지는 걸 경험하질 못해서... --;;

LUCENE-997 : 검색 시 시간 제약을 둘 수 있게 되었다. 특정 시간이 넘어가지 않도록... 해당 시간이 넘어가면 "TimeExceeded Exception"를 발생시킨다고 한다. 이걸 외부에서 wrapping해서 처리한다고 삽질했던 기억이....

- NIOFSDirectory : to allow multiple threads to read from the same open file without locking. 이걸 쓰면 퍼포먼스가 좀 향상될라나??

- "now the filter is applied to a document before scoring is done" : 예전엔 filter로 거르기 전에 scoring을 다 했었나보네요 --;; filter 쿼리가 많이 빨라지지 않았을까요? 아이고 궁금해라...

- "IndexReader can be opened with new readOnly=true mode" : IndexReader를 readOnly모드로 열면 multithread환경에서 보다 나은 성능을 기대할 수 있다는데... 그럼 IndexSearcher를 그냥 만들면 알아서 readonly 모드로 열릴라나... 이것도 테스트 해봐야겠네요~
소스 받아서 확인해 봤는데... IndexSearcher를 생성하면 내부적으로 알아서 IndexerReader를 readonly로 생성하는군요. 
public IndexSearcher(String path) throws CorruptIndexException, IOException {
        this(IndexReader.open(path), true);
}


위에 나열한 변화 외의 변화들도... 평소의 변화들에 비해는 조금 큰 변화이니 처음 접하는 분들이야 그냥 쓰면 되겠지만 예전부터 사용하는 분들은 꼼꼼히 살펴보는 게 좋을 것 같네요~

그럼.. 게으른 포스팅 여기서 마물...

'programming > Java' 카테고리의 다른 글

lucene 2.9.0 available!! 루씬 새버젼 출시~  (0) 2009.09.29
lucene의 Release 2.2.0 2007-06-19 을 보다가...  (0) 2008.04.10
lucene 2.1.0 released  (1) 2007.02.21

+ Recent posts