Lucene.净删除.对于布尔查询,文档没有按预期工作



当我试图通过布尔查询与发生删除文档。如果没有任何东西被删除

var query = new BooleanQuery();
query.Add(new TermQuery(new Term("Field", "A")), Occur.Should);
query.Add(new TermQuery(new Term("Field", "B")), Occur.Should);
writer.DeleteDocuments(query);
query.Clauses.Clear();
writer.Commit();

我期望文档带有"Field"值"A"或";B"将从索引中删除,但当我从索引中取出文档时,仍然得到了"one_answers";B"我用错地方了吗?

在提交之前,我不应该调用clause . clear()。这个过程将清除所有布尔子句。删除清晰的部分,一切正常。

var query = new BooleanQuery();
query.Add(new TermQuery(new Term("Field", "A")), Occur.Should);
query.Add(new TermQuery(new Term("Field", "B")), Occur.Should);
writer.DeleteDocuments(query);
writer.Commit();

相关内容

  • 没有找到相关文章