2016-06-19 12 views
5

Как создать экземпляр BooleanQuery в Lucene 6.x? Как использовать Boolean Query для добавления в него других запросов?Lucene 6.0! Как создать экземпляр BooleanQuery и добавить в него другие поисковые запросы?

В Lucene 4.x мы используем BooleanQuery следующим образом:

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

Как это может быть достигнуто в Lucene 6.

ответ

14

BooleanQuery теперь неизменны (вы можете прочитать об изменении Migration guide и связанные вопросы JIRA).

Вместо этого, вы бы сейчас использовать BooleanQuery.Builder:

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