我正在研究Elasticsearch聚合,我想获得一个聚合所有记录值的单一值。我可以使用“Range> = 0”聚合作弊,但是还有一种惯用的方法吗?
我的查询是:
{
"size": 0,
"aggs": {
"all": {
"range": {
"field": "price",
"ranges": [{"from": 0}] }
}
},
"aggs": {
"total price": {
"avg": {"field": "price"}}
}
}
}
最佳答案
ES已为您将其内置到“统计”聚合中,请使用“和”结果。
GET devdev/alert/_search
{
"size": 0,
"aggs": {
"ag1": {
"stats": {
"field": "price"
}
}
}
}
结果:
{
"took": 483,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 4129196,
"max_score": 0,
"hits": []
},
"aggregations": {
"ag1": {
"count": 4119334,
"min": -1,
"max": 7004,
"avg": 5.29581966405249,
"sum": 21815250
}
}
}
关于json - 从Elasticsearch返回单个聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30849118/