2010-05-16 32 views
6

Cách tốt nhất để cập nhật chỉ mục Lucene hiện có là gì. Tôi không chỉ phải thêm/xóa tài liệu từ nó, thay vì cập nhật các tài liệu hiện có.cập nhật chỉ mục lucene

Trả lời

11

Bạn sẽ phải mở các chỉ số mà không ghi đè như sau:

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

Lá cờ sai ở cuối nói với nó để mở trong chế độ append.

Nhà văn có một phương pháp UpdateDocument

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

lĩnh vực id nên có một số nhận dạng tài liệu độc đáo như tên tập tin hay số hồ sơ, vv

+2

Tôi nghĩ rằng đây là điều không thể. 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 đưa ra sự mơ hồ trong các thẻ câu hỏi và viết hoa của 'UpdateDocument', tôi nghi ngờ câu trả lời này là dành cho lucene.net. –

+1

Một tài liệu có thể được cập nhật với updateDocument (chỉ xóa và sau đó thêm toàn bộ tài liệu). http://lucene.apache.org/core/4_3_0/core/org/apache/lucene/index/IndexWriter.html – Falci

Các vấn đề liên quan