我试图在elasticsearch中使用BoolQueryBuilder搜索以下案例
select * from students where (name = "XXX" and rollno = 1) or (name = "YYY" and rollno = 2)
我必须为其构建查询生成器。
任何人都可以建议我使用 BoolQueryBuilder 来构建查询。
ElasticSearch 6.1.2
非常感谢任何帮助。
最佳答案
这是用于构建 BooleanQueryBuilder 条件的 java api
BoolQueryBuilder booleanQuery = QueryBuilders.boolQuery();
booleanQuery.must(QueryBuilders.termQuery("name", "XXX"));
booleanQuery.must(QueryBuilders.termQuery("rollno", 1));
BoolQueryBuilder booleanQuery2 = QueryBuilders.boolQuery();
booleanQuery2.must(QueryBuilders.termQuery("name", "YYY"));
booleanQuery2.must(QueryBuilders.termQuery("rollno", 2));
BoolQueryBuilder boolQueryBuilder3 = QueryBuilders.boolQuery();
boolQueryBuilder3.should(booleanQuery2);
boolQueryBuilder3.should(booleanQuery);
关于java - 在elasticsearch中构建复合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399181/