Return 来自 Elasticsearch 的单个聚合值
Return a single aggregate value from Elasticsearch
我正在处理 Elasticsearch 聚合,我想获得一个聚合所有记录值的单一值。我可以用 "Range >= 0" 聚合作弊,但是有更惯用的方法吗?
我的问题是:
{
"size": 0,
"aggs": {
"all": {
"range": {
"field": "price",
"ranges": [{"from": 0}] }
}
},
"aggs": {
"total price": {
"avg": {"field": "price"}}
}
}
}
ES 已将此内置到 "stats" 聚合中,请使用 "sum" 结果。
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
}
}
}
我正在处理 Elasticsearch 聚合,我想获得一个聚合所有记录值的单一值。我可以用 "Range >= 0" 聚合作弊,但是有更惯用的方法吗?
我的问题是:
{
"size": 0,
"aggs": {
"all": {
"range": {
"field": "price",
"ranges": [{"from": 0}] }
}
},
"aggs": {
"total price": {
"avg": {"field": "price"}}
}
}
}
ES 已将此内置到 "stats" 聚合中,请使用 "sum" 结果。
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
}
}
}