嵌套的布尔查询?

Kai*_*ang 2 lucene

我正在使用 BooleanQuery 来组合多个查询。我发现如果我将 BooleanQuery 添加到 BooleanQuery,则不会返回任何结果。添加的 BooleanQuery 是 MUST_NOT ,如 -city_id:100。

但是正如 lucene 的规范所说,BooleanQuery 可以嵌套,我认为这意味着可以添加这样的 BooleanQuery。现在我要从要添加的BooleanQuery 中获取所有子句,然后将它们一一添加到容器BooleanQuery 中。

我有点困惑。有人可以帮忙吗?非常感谢!

Sha*_*ore 5

Lucene 不支持一元 NOT 运算符。但是您可以通过与MatchAllDocsQuery进行 AND 运算来获得此类查询的结果。