Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lucene 6.0! How to instantiate a BooleanQuery and add other search queries in it?

How to instantiate a BooleanQuery in Lucene 6.x ? How to use Boolean Query to add other queries in it ?

In Lucene 4.x we use BooleanQuery as follow:

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

How this can be achieved in Lucene 6.

like image 306
Mohasin Ali Avatar asked Jun 19 '16 07:06

Mohasin Ali


1 Answers

BooleanQuery is now immutable (you can read about the change in the Migration guide and the linked JIRA issues).

Instead, you would now use BooleanQuery.Builder:

BooleanQuery booleanQuery = new BooleanQuery.Builder()
    .add(query1, BooleanClause.Occur.MUST)
    .add(query2, BooleanClause.Occur.MUST)
    .build();
like image 174
femtoRgon Avatar answered Nov 02 '22 03:11

femtoRgon