为什么Lucene不支持对现有文档的任何类型的更新

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

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

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

是否有任何变通方法可以支持我在现有文档中添加术语(索引字段)的用法?

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

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