Elasticsearch聚合查询语法
- 一.范围查询,分组统计
- 将语句转为java客户端查询语句(RestHighLevelClient)
一.范围查询,分组统计
将语句转为java客户端查询语句(RestHighLevelClient)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23SearchRequest searchRequest = new SearchRequest(indices); SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.size(0); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); //时间范围过滤,range->区间聚合 boolQueryBuilder.filter(QueryBuilders.rangeQuery("date").gt(DateUtil.strToDate(fromDate)).lte(DateUtil.strToDate(toDate))); sourceBuilder.query(boolQueryBuilder); //aggregations聚合分组(桶) //对每个分组(桶)内文档进行聚合,使用哪个字段,使用何种度量方式进行运算,这些信息要嵌套在桶内,度量的运算会基于桶内的文档进行 sourceBuilder.aggregation( AggregationBuilders.terms("group_by_lineName").field("lineName").size(100) .subAggregation(AggregationBuilders.avg("avg_eta").field("eta")) .subAggregation(AggregationBuilders.avg("avg_uoc").field("uoc")) .subAggregation(AggregationBuilders.avg("avg_isc").field("isc")) .subAggregation(AggregationBuilders.avg("avg_ff").field("ff")) .subAggregation(AggregationBuilders.avg("avg_rser").field("rser")) .subAggregation(AggregationBuilders.avg("avg_rshuntDfDr").field("rshuntDfDr")) ); //指定搜索类型 searchRequest.types(indices).source(sourceBuilder); SearchResponse response = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
最后
以上就是任性自行车最近收集整理的关于Elasticsearch聚合统计一.范围查询,分组统计的全部内容,更多相关Elasticsearch聚合统计一内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复