一个ScoreDoc[]
数组包含来自搜索的所有文档 ID。我想使用这些文档 ID 来更新单个文档。在这种特殊情况下,我无法唯一标识我希望更新的行,因为给定的术语将导致匹配多个文档。
想象一个查询,其中返回 1:a、2:b 和以下文档
1 2 3 4 5 6
doc 1: a b c d e f
doc 2: a b g h i j
doc 3: a b k l m n
我基本上是对字段 3 和 4 进行更新,但希望保持 5 和 6 不变。
目前我可以抓取这些行,进行我想要的更新,但我想不出在索引中更新它们的方法。
一个indexWriter.updateDocuments(...)
或一个indexwriter.DeleteDocuments(...)
将导致文档 1、2 3 被删除。
由于我有 documentId,我认为有一种方法可以让我用它来更新索引。