我尝试在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"));
但是,如果我理解正确的话,最后两个“必须”语句是相互矛盾的。
我试着用“应该”这个词,但它似乎带来了所有猫的名字。