我正在使用 Lucene.Net(版本 2.9.4.1)来实现一个简单的搜索模块。如果文档存在于索引中,我正在尝试使用以下代码删除该文档,
var analyzer = new StandardAnalyzer(Version.LUCENE_29);
var indexWriter = new IndexWriter(
LuceneSearch._luceneDir,
analyzer,
IndexWriter.MaxFieldLength.UNLIMITED);
var searchQuery = new TermQuery(new Term("ListID", listingDoc.Get("ListID")));
indexWriter.DeleteDocuments(searchQuery);
wherelistingDoc
的类型Document
是我试图删除文档(如果存在),然后将其再次添加到索引中,添加部分工作正常,但删除部分不起作用,即如果文档存在,则不会删除该文档。因此,如果我搜索一个术语并且它匹配它会显示多次...请指出我在此处做错了什么
我正在使用 ASP.Net MVC3 和 Entity Framework4。每次更新记录时,我都打算更新索引,但它却被重复了。当我搜索它时,我会得到两次或三次结果,具体取决于我进行更新的次数。
我尝试使用indexWriter.UpdateDocument(args);
无济于事...