如何使用ES JAVA API创建以下嵌套的agg查询
假设我的查询如下所示:
GET /agg_vitaly_test_api_2016-11-01/_search
{
"size": 0,
"query": {
"range": {
"time": {
"gte": "1477962000000",
"lte": "1477965600000"
}
}
},
"aggs" : {
"group_by_time" : {
"date_histogram" : {
"field" : "time",
"interval" : "hour"
},
"aggs": {
"sum_player_load": {
"sum": {
"field": "playerload"
}
}
}
}
}
Java代码应该是这样的:
SearchRequestBuilder searchRequestBuilder = FETCH_CLIENT.prepareSearch().setIndices(indexName).setTypes(pixelType.getType()).setSize(0);
// here need to complete the nested aggregation....
AggregationBuilder aggb = addAggregation(groupBy);
searchRequestBuilder.addAggregation(aggb);
// ....
SearchResponse res = searchRequestBuilder.execute().actionGet();
请任何建议?:)
BR
您的addAggregation方法将类似于:
public AggregationBuilder addAggregation(){
return AggregationBuilders.dateHistogram("group_by_time").field("time").interval(DateHistogram.Interval.HOUR)
.subAggregation(AggregationBuilders.sum("sum_player_load").field("playerload"));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句