设置筛选条件:
private QueryBuilder setCondititon(Long lowTime,Long upperTime){
return boolQuery().must(rangeQuery("time").gte(lowTime).lte(upperTime));
}
设置AGG聚合查询
private HistogramAggregation queryByMinute(QueryBuilder queryBuilder){
var groupByMinuteAgg = dateHistogram("group_minutes").field("time")
.interval(DateHistogramInterval.MINUTE)
.subAggregation(avg("avg").field("avgNumber"));
val searchMinuteQuery = new NativeSearchQueryBuilder()
.withQuery(queryBuilder)
.addAggregation(groupByMinuteAgg)
.withIndices("indexes").build();
return esService.query(searchMinuteQuery,SearchResult::getAggregations).getHistogramAggregation("group_minutes");
}