Elasticsearch 总和聚合
Elasticsearch sum aggregration
有类别(数字)和片段(长)字段的文档。我需要某种聚合来按类别对这些文档进行分组并对其中的所有部分求和
文档的外观如下:
{
"category":"1",
"piece":"10.000"
},
{
"category":"2",
"piece":"15.000"
} ,
{
"category":"2",
"piece":"10.000"
},
{
"category":"3",
"piece":"5.000"
}
...
查询结果必须是这样的:
{
"category":"1",
"total_amount":"10.000"
}
{
"category":"2",
"total_amount":"25.000"
}
{
"category":"3",
"total_amount":"5.000"
}
..
有什么建议吗?
您想对类别进行术语聚合,从上面的记录我看到您将它们作为字符串发送,因此它们将是分类变量。然后,作为指标,传递总和。
它可能是这样的:
"aggs" : {
"categories" : {
"terms" : {
"field" : "category"
},
"aggs" : {
"sum_category" : {
"sum": { "field": "piece" }
}
}
}
}
有类别(数字)和片段(长)字段的文档。我需要某种聚合来按类别对这些文档进行分组并对其中的所有部分求和
文档的外观如下:
{
"category":"1",
"piece":"10.000"
},
{
"category":"2",
"piece":"15.000"
} ,
{
"category":"2",
"piece":"10.000"
},
{
"category":"3",
"piece":"5.000"
}
...
查询结果必须是这样的:
{
"category":"1",
"total_amount":"10.000"
}
{
"category":"2",
"total_amount":"25.000"
}
{
"category":"3",
"total_amount":"5.000"
}
..
有什么建议吗?
您想对类别进行术语聚合,从上面的记录我看到您将它们作为字符串发送,因此它们将是分类变量。然后,作为指标,传递总和。
它可能是这样的:
"aggs" : {
"categories" : {
"terms" : {
"field" : "category"
},
"aggs" : {
"sum_category" : {
"sum": { "field": "piece" }
}
}
}
}