【发布时间】:2010-09-16 16:54:31
【问题描述】:
在研究如何删除 lucene 中的文档时,我已被证明使用 IndexReaders delete() 方法,传入文档 ID。现在我确实需要这样做,看来 lucene 目前不支持这种方法,而且我在找到当前的方法方面几乎没有运气。
有什么想法吗?
【问题讨论】:
在研究如何删除 lucene 中的文档时,我已被证明使用 IndexReaders delete() 方法,传入文档 ID。现在我确实需要这样做,看来 lucene 目前不支持这种方法,而且我在找到当前的方法方面几乎没有运气。
有什么想法吗?
【问题讨论】:
现在可以使用 IndexWriter 完成删除
http://lucene.apache.org/java/3_0_2/api/all/org/apache/lucene/index/IndexWriter.html
【讨论】:
Doc IDs 是 Lucene 内部的,绝对不应该使用。除其他问题外,它们可能会在没有警告的情况下更改。
您是如何获得文档 ID 的?大概是通过查询?然后根据该查询删除。或者,如果您有自己的唯一 ID 字段,您可以使用writer.DeleteDocuments(new Term("MyIDField", "ID to delete"));
【讨论】: