如何计算Elasticsearch中父字段的总和?

时间:2017-12-14 22:42:23

标签: elasticsearch kibana-5

嗨我在弹性搜索中将数据非规范化为平。

e.g。

{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个孩子和2个完全相同的父母。 如何计算parentAmount的总和(应该是6.8)?

感谢。如果可能的话,如何使用kibana metric visual来显示这些数据?

1 个答案:

答案 0 :(得分:2)

在Kibana中,您可以使用Metric可视化执行此操作:

enter image description here

使用这样的查询:

{
  "size": 0,
  "aggs": {
    "per_parent": {
      "terms": {
        "field": "parentId",
        "size": 25
      },
      "aggs": {
        "max": {
          "max": {
            "field": "parentAmount"
          }
        }
      }
    },
    "sum_amounts": {
      "sum_bucket": {
        "buckets_path": "per_parent>max"
      }
    }
  }
}