愚者求师之过,智者从师之长。

每个分桶聚合中包含属于自己的指标聚合

Elasticsearch | 作者 elasticStack | 发布于2018年08月10日 | 阅读数:4062

1.es版本5.6.9
2.问题描述:
        按照comid和datatype两个字段进行聚合,但es是通过子嵌套的方式来实现的。先按照comid聚合,再按照datatype聚合,这都没有问题,但是我的问题是,我想在comid聚合的那一层有个max aggs, 在datatype聚合那一层有个min aggs, 语句如下:
{
"size": 0,
"aggs": {
"comid": {
"terms": {
"field": "comid.keyword",
"size": 10,
"order": {
"min_group": "asc"
}
},
"aggs": {
"min_group": {
"min": {
"field": "group"
}
},
"aggs":{
"datatype":{
"terms": {
"field": "datatype.keyword",
"size": 10,
"order": {
"max_group": "desc"
}
},
"aggs": {
"max_group": {
"max": {
"field": "group"
}
}
}
}
}
}
}
}
}
运行会报Unknown BaseAggregationBuilder [datatype] 的错误。
 
不知道ES支不支持这种模式,还是我写法有问题,请指教。
 
已邀请:

rochy - rochy_he

赞同来自:

你的写法有问题,请仔细检查子聚合的嵌套结构;
 
你也可以将业务简单描述一下,看你的叙述并不清楚你的真正目的。

elasticStack - 90后it大数据男

赞同来自:

aggs.png

这种写法报错

elasticStack - 90后it大数据男

赞同来自:

aggs2.png

 

要回复问题请先登录注册