Wrap bool shoulds in bool must

Since minimum_should_match is deprecated. This basically means that at
least one of the search criteria must be a positive match.
This commit is contained in:
Michael McCaskill 2016-08-30 13:58:54 -04:00
parent 1d2d3da30c
commit 68a175229a
1 changed files with 3 additions and 2 deletions

View File

@ -42,12 +42,13 @@ public class ElasticsearchDatastoreService implements DatastoreService {
.setSize(searchOptions.getLimit());
final BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
if (searchOptions.getQuery() != null) {
queryBuilder
queryBuilder.must(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("title", searchOptions.getQuery()))
.should(QueryBuilders.matchQuery("name", searchOptions.getQuery()))
.should(QueryBuilders.nestedQuery("maintainers", QueryBuilders.matchQuery("maintainers.id", searchOptions.getQuery())))
.should(QueryBuilders.nestedQuery("maintainers", QueryBuilders.matchQuery("maintainers.name", searchOptions.getQuery())))
.should(QueryBuilders.matchQuery("excerpt", searchOptions.getQuery()));
.should(QueryBuilders.matchQuery("excerpt", searchOptions.getQuery()))
);
} else {
queryBuilder.must(QueryBuilders.matchAllQuery());
}