当我试图通过布尔查询与发生删除文档。如果没有任何东西被删除
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();