elasticSearch用java查询问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticSearch用java查询问题相关的知识,希望对你有一定的参考价值。
如下sql 用 ES 的java API 如何实现
sql:
select c,d from my_table where a = 1
and (b = 2 or b=3)
group by c,d
请大神优先回答 括号 or 的实现吧
你这个查询用filter、must皆可,推荐filter
String index = "indexName"; // 你的index名称String type = "my_table";
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
// boolQuery.must(QueryBuilders.termQuery("a", 1));
// boolQuery.must(QueryBuilders.termsQuery("b", 2, 3));
boolQuery.filter(QueryBuilders.termQuery("a", 1));
boolQuery.filter(QueryBuilders.termsQuery("b", 2, 3));
SearchResponse searchResponse = client.prepareSearch(index).setTypes(type)
.setQuery(boolQuery)
.addSort("c", SortOrder.ASC)
.addSort("d", SortOrder.ASC)
.storedFields("c", "d")
.get(); 参考技术A 查询器里的should是或,must是且
以上是关于elasticSearch用java查询问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ElasticSearch-Rails 查询 dsl 返回相关关系
SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮