9

我的用例涉及索引一个 Lucene 文档,然后在以后的多个场合添加指向这个现有文档的术语,而不是为每个新术语删除和重新添加整个文档(因为性能,而不是保留原始术语)。

我知道文档不能真正更新。我的问题是为什么?

或者更准确地说,为什么不支持所有形式的更新(术语、存储字段)?
为什么不可能添加另一个术语来指向现有文档 - 从技术上讲:所需要的不仅仅是将现有的文档 ID 放在术语的发布列表中。为什么这么难?是否有一些不可变的统计数据?

是否有任何解决方法可以支持我将术语(索引字段)添加到现有文档的用例?

4

1 回答 1

4

我知道文档不能真正更新。我的问题是为什么?

Gili,编辑文档会导致相关术语发布发生变化,由于术语发布列表结构,这是有问题的。过帐列表被排序并按顺序存储在内存中。因此,要将文档添加到术语的发布列表中,您必须给它更高的值,doc id这是通过删除并重新索引整个文档来完成的。

于 2012-08-30T08:51:47.843 回答