计算每个存储桶嵌套聚合的百分比

时间:2018-10-30 16:04:13

标签: elasticsearch

如何获取父聚合来计算每个父聚合在嵌套聚合中某个特定术语的百分比?

例如,假设我有以下数据:

  • 一月(销售100次)
    • 类型:t恤(销售10件,我需要:10/100 = .10)
    • 类型:裤子(销售50件,我需要:50/100 = .50)
    • 类型:短裙(销售40件,我需要:40/100 = .40)
  • 2月(60销售)
    • 类型:t恤(销售58件);我需要:58/60 = .96)
    • 类型:裤子(1件销售);我需要:1/60 = .016)
    • 类型:短裙(1个销售);我需要:1/60 = .016)

我需要的结果是:

  • 一月:
    • t恤:10%
    • 裤子:50%
    • 裙子:40%
  • 2月:
    • t恤:96%
    • 裤子:1.6%
    • 裙子:1.6%

例如,根据elasticsearch官方示例,将是这样的:

POST /sales/_search
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {
        "field": "date",
        "interval": "month"
      },
      "aggs": {
        "types": {
          "term": {
            "field": "type"
          }
        }
      }
    }
  }
}

但是我不知道如何计算这些百分比。

0 个答案:

没有答案