在没有完整重新索引的情况下更新Lucene有效负载

时间:2016-01-29 15:36:49

标签: lucene

在Lucene中,我使用有效负载来存储文档中每个标记的信息(在我的情况下为浮点值)。有时可能需要更新这些有效载荷。如果我知道docID,termID,offset等,有没有办法让我更新有效负载而不必重新索引整个文档?

1 个答案:

答案 0 :(得分:0)

我不知道任何Lucene API支持这一点,即使是“更新”操作也会作为“删除”和“添加”添加操作执行。

需要更多存储但减少IO和延迟的解决方法可能是将文档的整个源存储在Lucene索引本身或与Lucene索引相同的节点上的专用数据存储中。然后,您仍然只能将更新的有效负载信息发送到您的应用程序,以更新您的文档。但是整个文档仍需要重新编制索引。

另见How to set a field to keep a row unique in lucene?