0

我正在开发一个使用 Lucene.net 的应用程序,并且有一个我不知道如何处理的用例。假设我有“书籍”和“作者”,它们对应于 2 个不同的表格和对象。如果我创建一个作者“John Doe”,然后创建一本书,我也会为该书的作者编制索引;这允许我进行类似“标题作者:Doe”的搜索,它将返回所有书籍。

现在假设我将作者重命名为其他名称,由于存在 FK 关系,因此数据库中的所有书籍都可以。然而,在 Lucene 中,这些书籍将过时,因为它们包含作者的姓名作为文本。

我该如何处理这些情况?我猜Lucene没有FK约束或类似的东西。

(注意:标记为 Java,因为 Lucene 和 Lucene.net 非常相似)

4

1 回答 1

0

不幸的是,在 Lucene 中,如果您更改一个 Lucene 文档中索引的数据,则需要更改其他 Lucene 文档中相应的索引数据——而 2.9.x 中的 Lucene 不支持任何 UPDATE 功能(您必须添加和删除每个文档)。

于 2012-10-02T21:32:10.317 回答