我在弹性搜索中有如下术语查询。
GET http://localhost:9200/adapters/request/_search
{
"query": {
"bool" : {
"must" : {
"match" : { "adapterName" : "EnginePushableAdapter" }
},
"filter": {
"range" : {
"request.requestTime" : {
"gte" : 1492080226172,
"lte" : 1492080725964
}
}
}
}
},
"aggs" : {
"call_count" : {
"terms" : {
"field" : "deviceId"
}
}
}
}
有没有办法计算术语聚合返回的doc_count平均值?像这样
"avg_agg" : {
"avg": { "field": "call_count.doc_count" }
}
换句话说,我想取先前聚合字段的平均值。
我认为您可能正在寻找平均存储桶聚合。
https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search-aggregations-pipeline-avg-bucket-aggregation.html
尝试类似的东西
...
"my_count_avg": {
"avg_bucket": {
"buckets_path": "call_count>_count"
}
}