2010-05-16 4 views
6

기존 Lucene 색인을 업데이트하는 가장 좋은 방법은 무엇입니까? 그저 문서를 추가/삭제하고 오히려 기존 문서를 업데이트 할 필요는 없습니다.lucene 색인 업데이트

답변

11

당신은 이렇게 덮어 쓰지 않고 인덱스를 열어야합니다

IndexWriter writer = new IndexWriter("MyIndexPath",analyzer, false); 

끝에 거짓 플래그는 추가 모드에서 열 수를 알려줍니다.

작가는 UpdateDocument 방법을 가지고

writer.UpdateDocument(new Term("IDField",id), doc); 

I이 불가능하다고 생각

+2

ID 필드 등 파일명 또는 파일 번호와 같은 독특한 문서 식별자이어야한다. http://wiki.apache.org/lucene-java/LuceneFAQ#How_do_I_update_a_document_or_a_set_of_documents_that_are_already_indexed.3F – Neelesh

+1

@Neelesh가 질문 태그에 애매한 점과'UpdateDocument'의 대소 문자를 썼다면이 대답은 lucene.net에 대한 것 같습니다. –

+1

문서를 updateDocument (전체 문서를 삭제 한 다음 추가하는)로 업데이트 할 수 있습니다. http://lucene.apache.org/core/4_3_0/core/org/apache/lucene/index/IndexWriter.html – Falci

관련 문제