Я пытаюсь выполнить Elastic эквивалентный следующему в SQL:
select * from Pets
where type is 'cat'
and age > 10
and name in ("Barry", "Oscar", .....)
У меня есть следующий код Java:
SearchRequest searchRequest = new SearchRequest(elasticIndexName);
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
queryBuilder.must(QueryBuilders.termQuery("type", "cat"));
queryBuilder.must(QueryBuilders.rangeQuery("age").from("10"));
queryBuilder.must(QueryBuilders.termQuery("name", "Oscar"));
queryBuilder.must(QueryBuilders.termQuery("name", "Barry"));
Но, если я правильно понимаю,последние два «обязательных» утверждения противоречат друг другу.Я пытался использовать термин «должен», но, кажется, он приносит все имена кошек.