15

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.

Mohasin Ali
  • 3,955
  • 1
  • 20
  • 24

1 Answers1

28

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();
femtoRgon
  • 32,893
  • 7
  • 60
  • 87