본문 바로가기

indexwriter

[Lucene] IndexWriter.updateDocument Lucene에서 indexWriter.updateDocument는 Term에 해당하는 document를 바로 update하는 것이 아니고delete 후 insert 로직으로 작동합니다. 즉, id=2인 document를 update 하려고 했을때, 인덱스에 id=2인 document가 없다면업데이트를 하려고했던 document가 insert가 됩니다. 간단한 테스트케이스를 보시면..처음에 id=1인 문서를 색인하고(addDocument) 그 이후에 id=1인 term query로 update를 합니다. update 후 id=1로 검색을 한 결과를 보면 아래와 같이Assert.assertTrue(topDocs.totalHits == 1);Assert.assertEquals("document 1 update.. 더보기
[about Lucene] 루씬으로 검색엔진 개발하기 - IndexWriter - 루씬으로 뭔가 작업을 한다면 사실 가장 어려운 부분이 Analyzer를 입맛에 맞게 만드는 부분일 것 입니다. 지금까지 작성한 Analyzer에 대한 내용이 이렇게 길었던 것도 그런 이유였고요... 이제부터 이야기 할 Indexing, Search, Query, Sort등은 사실 사용하기가 그렇게 어려운 것은 아닙니다. 이미 API자체가 너무나도 잘 만들어졌기 때문에 그냥 특별한 옵션 없이 사용하는 것 만으로도 충분히 잘 사용 할 수가 있습니다. 그 다음엔 사실 경험이구요... 포스트의 내용도 기본적인 API에 대한 테스트케이스와 이것들을 사용하면서 기억에 남았던 내용들에 대한 것을 소개해드리는 내용이 될 것 같습니다. 사실 대부분의 내용은 JAVADOC이나 루씬인액션과 같은 책을 읽어보는 것이 훨씬 도.. 더보기