【问题标题】:Lucene 6.0! How to instantiate a BooleanQuery and add other search queries in it?Lucene 6.0!如何实例化 BooleanQuery 并在其中添加其他搜索查询?
【发布时间】:2026-02-02 01:35:01
【问题描述】:

如何在 Lucene 6.x 中实例化 BooleanQuery? 如何使用布尔查询在其中添加其他查询?

在 Lucene 4.x 中,我们使用 BooleanQuery 如下:

    BooleanQuery booleanQuery = new BooleanQuery();
    booleanQuery.add(query1, BooleanClause.Occur.MUST);
    booleanQuery.add(query2, BooleanClause.Occur.MUST);

如何在 Lucene 6 中实现这一点。

【问题讨论】:

    标签: java lucene booleanquery


    【解决方案1】:

    BooleanQuery 现在是不可变的(您可以阅读Migration guide 中的更改以及相关的 JIRA 问题)。

    您现在将使用 BooleanQuery.Builder:

    BooleanQuery booleanQuery = new BooleanQuery.Builder()
        .add(query1, BooleanClause.Occur.MUST)
        .add(query2, BooleanClause.Occur.MUST)
        .build();
    

    【讨论】: