Java 如何在Lucene.net中处理关系更新?

Java 如何在Lucene.net中处理关系更新?,java,.net,lucene,full-text-search,Java,.net,Lucene,Full Text Search,我正在开发一个使用Lucene.net的应用程序,有一个用例我不知道如何处理。假设我有“books”和“authors”,它们对应于两个不同的表和对象。如果我创建了一个作者“John Doe”,然后创建了一本书,我也会为该书的作者编制索引;这让我可以进行类似“title author:Doe”的搜索,它将返回所有书籍 现在让我们假设我将作者重命名为其他人,因为存在FK关系,所以数据库中的所有书籍都可以。然而,在Lucene中,这些书将过时,因为它们包含作者的名字作为文本 我如何处理这些案件?我想

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

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

我如何处理这些案件?我想Lucene没有FK约束之类的东西


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

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

好的。但可能是设计错了。有没有更好的方法来避免这类问题?谢谢