2012-06-12 20 views
1

我正在使用lucene索引來搜索Java中的應用程序中的搜索功能。在lucene索引中刪除和插入新條目非常簡單,但是有誰知道如何更新lucene索引條目?在Java中更新LuceneIndex條目

例如,此刻某人的姓氏是「Doe」,當我在我的數據庫中將其更改爲「Doe 1」時,我還需要更新我的索引。

現在看來唯一可行的是刪除該條目並插入一個新條目。但是有沒有其他的選擇呢?

回答

2

正如Lucene的維基,http://wiki.apache.org/lucene-java/LuceneFAQ#How_do_I_update_a_document_or_a_set_of_documents_that_are_already_indexed.3F提到的,這是不可能的:

「目前在Lucene中沒有直接的更新程序要更新的索引增量必須首先刪除已更新的文件,然後重新。將它們添加到索引中。「

+0

感謝您的快速回答。 – Peymankh

+0

+1但是,有一些正在進行的工作允許在Lucene 4.x中進行文檔更新。 Lucene(4.0)的未來版本將允許您編寫自定義存儲引擎(他們稱之爲編解碼器),而Andrzej Bialecki正在開發一個允許文檔更新的編解碼器。 https://issues.apache.org/jira/browse/LUCENE-3837 – jpountz