【发布时间】:2011-10-07 19:40:10
【问题描述】:
我需要从我的 Lucene 索引中删除文档,然后再重新添加它们。似乎如果我将文档标记为已删除,然后尝试再次添加它.. 文档仍然被删除。如何“取消删除”文档?
这就是我将文档标记为“已删除”的方式:
Term = new Tearm("id", Id.Value);
IndexSearcher.reader.DeleteDocuments(term);
IndexSearcher.reader.Close();
所以如果我想再次“激活”这个文档.. 我该怎么做呢?
谢谢!
【问题讨论】:
-
看来你用的Lucene.Net版本很老了(现在人们用IndexWriter的Delete方法)你用的是哪个版本的?
-
我使用的是 2.0.0.4 版本。我没有意识到 IndexWriter 上有一个 Delete 方法。该删除是真的删除文档还是只是将其标记为已删除?
-
A) 不,2.0.0.4 中的 IndexWriter 上没有 Delete 方法。如果我没记错的话,它是在 2.3.1 中介绍的。 B)
or does it just mark it deleted这是所有(AFAIK)数据库、搜索引擎的工作方式。我认为,升级到 2.9.2 或 2.9.4 后重新提问会更好
标签: c# lucene lucene.net