无法从Lucene索引中删除文档

时间:2016-09-06 11:08:07

标签: c# asp.net lucene full-text-search lucene.net

我是Lucene.net的新手。我一直在尝试从Lucene索引文件中删除文档。但不幸的是我无法完成它。

这是我的代码。

public void DeleteDocuments()
{
   Term term = new Term("id", id);
   Analyzer analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_30);
   Directory directory = FSDirectory.Open(filePath);
   IndexWriter writer = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED);
   writer.DeleteDocuments(term);
   writer.Optimize();
   writer.Commit();
   writer.Dispose();
}

无法从索引文件中删除文档。请帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的问题可能是您用于" id"字段。

如果您的id包含字母,StandardAnalyzer会以小写形式对其进行索引。这意味着您创建的术语可能具有与索引不同的值" ABC" vs" abc"。

Fo id类型字段应确保在不进行分析的情况下创建字段。