Elasticsearch中如何计算parent字段的总和?
How to calculate the sum amount of parent field in Elasticsearch?
您好,我已经在 elasticsearch 中对数据进行了非规范化处理。
例如
{childId: 123, childAmount: 3.4, parentId: 1, parentAmount: 5.6}
{childId: 234, childAmount: 4.4, parentId: 1, parentAmount: 5.6}
{childId: 345, childAmount: 5.4, parentId: 2, parentAmount: 1.2}
看到有 3 个 children 和 2 个相同 parent。
如何计算parentAmount(应该是6.8)的总金额?
谢谢。如果可能,如何使用 kibana metric visual 来显示这些数据?
在 Kibana 中,您可以使用指标可视化来做到这一点:
使用这样的查询:
{
"size": 0,
"aggs": {
"per_parent": {
"terms": {
"field": "parentId",
"size": 25
},
"aggs": {
"max": {
"max": {
"field": "parentAmount"
}
}
}
},
"sum_amounts": {
"sum_bucket": {
"buckets_path": "per_parent>max"
}
}
}
}
您好,我已经在 elasticsearch 中对数据进行了非规范化处理。
例如
{childId: 123, childAmount: 3.4, parentId: 1, parentAmount: 5.6}
{childId: 234, childAmount: 4.4, parentId: 1, parentAmount: 5.6}
{childId: 345, childAmount: 5.4, parentId: 2, parentAmount: 1.2}
看到有 3 个 children 和 2 个相同 parent。 如何计算parentAmount(应该是6.8)的总金额?
谢谢。如果可能,如何使用 kibana metric visual 来显示这些数据?
在 Kibana 中,您可以使用指标可视化来做到这一点:
使用这样的查询:
{
"size": 0,
"aggs": {
"per_parent": {
"terms": {
"field": "parentId",
"size": 25
},
"aggs": {
"max": {
"max": {
"field": "parentAmount"
}
}
}
},
"sum_amounts": {
"sum_bucket": {
"buckets_path": "per_parent>max"
}
}
}
}