需求
在项目开发中,需要从elasticsearch中查询日志数据,先统计每一天的日志调用量,然后在每一天的分组聚合基础上,再分组聚合统计成功和失败的日志调用量。
代码
DateHistogramAggregationBuilder aggregationBuilderByTime = AggregationBuilders
.dateHistogram("dateDownStreamRequestTime")
.field("downStreamRequestTime")
.calendarInterval(DateHistogramInterval.DAY)
.offset("-8h")
.minDocCount(0)
.order(BucketOrder.aggregation("_key", true))
.subAggregation(AggregationBuilders.terms("by_status").field("responseState"));
sourceBuilder.aggregation(aggregationBuilderByTime);