我遵循ElasticSearch查询从ElasticSearch获取数据:
GET volumestatistics/_search
{
"size": 0,
"aggs": {
"customer": {
"terms": {
"field": "cust_code",
"size": 100
},
"aggs": {
"day": {
"date_histogram": {
"field": "ts",
"interval": "day",
"format": "MM-dd-yyyy",
"order": {
"total_bytes": "desc"
}
},
"aggs": {
"total_bytes": {
"sum": {
"field": "events_size_in_bytes"
}
}
}
},
"min_bytes_metrics": {
"min_bucket": {
"buckets_path": "day>total_bytes"
}
},
"max_bytes_metrics": {
"max_bucket": {
"buckets_path": "day>total_bytes"
}
},
"sum_bytes_metrics": {
"sum_bucket": {
"buckets_path": "day>total_bytes"
}
}
}
}
}
}
这可以很好地从elasticsearch集群中获取数据。
我想用以下方法在java中构建上述查询:
private AggregationBuilder<?> buildAggregationQuery()
{
AggregationBuilder<?> customerWiseAgg = AggregationBuilders.terms("customer").field("cust_code").size(100);
return customerWiseAgg;
}
请帮助在java中构建完整的查询