Is it possible to build a query dynamically, adding clauses depending of you want to search on, the same way it can be done with hibernate criterias ?
like
Code:
org.apache.lucene.search.Query keyWordsQuery = qb.keyword()
.onField("title")
.matching(keyWord)
.createQuery();
org.apache.lucene.search.Query categoryQuery = qb.keyword()
.onField("category")
.equals(categoryId)
.createQuery();
final BooleanJunction<BooleanJunction> bool = qb.bool();
bool.must( keyWordsQuery );
if (StringUtils.isNotBlank(category)) {
bool.must(categoryQuery);
}
final Query finalQuery = bool.createQuery();