0

可能重复:
为什么 Lucene 不支持对现有文档进行任何类型的更新

是否可以在文档被索引后更新存储的字段值(无需重新索引)?

4

1 回答 1

3

简短的回答:没有。

您需要删除并重新添加文档,它是存储字段和索引字段。请参阅IndexWriter.updateDocument() Javadoc

“通过首先删除包含术语的文档然后添加新文档来更新文档。删除然后添加是原子的,正如读者在同一索引上看到的那样(刷新可能仅在添加之后发生)。”

另一种选择是在 Lucene 之外存储任何需要更新的数据(比如在关系数据库中)。

正在进行各种工作以允许就地更新、存储或索引字段,但对于 Lucene V4 或更早版本没有任何具体内容。

于 2012-10-06T18:09:31.847 回答