[英]Returning a query with columns as COUNT of a specific category from a field name
[英]Elasticsearch query is not returning a total value of a summed field
我有以下 elasticsearch 查询。 它作为 AWS Amplify 无服务器后端的一部分执行。
const elasticBody = {
...defaultBody,
aggs: {
points: {
date_histogram: {
field: "createdAt",
interval: "day",
},
aggs: {
points: {
sum: {
field: "points",
},
},
},
},
total: {
sum: {
field: "points",
},
},
},
};
const data = await search(index, elasticBody);
我得到以下响应,这是我试图获得的大部分内容,但是,查询下部的“总计”值没有产生结果。
我一直在仔细研究 Elasticsearch 文档,但找不到解决方案。
我期待响应中的以下结构。
count: x,
data: [{...}],
我期望计数是返回数据集中所有点的总和值。
您需要使用Sum Bucket Aggregation来获取返回存储桶响应的总和。 请检查以下查询:
"aggs": {
"points": {
"date_histogram": {
"field": "createdAt",
"interval": "day"
},
"aggs": {
"points": {
"sum": {
"field": "points"
}
}
}
},
"total":{
"sum_bucket": {
"buckets_path": "points>points"
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.