首页 > 解决方案 > 合并来自键控桶的 doc_count 结果

问题描述

我有一个像这样的查询

'aggs' => [
                'deadline' => [
                    'date_histogram' => [
                        'field' => 'deadline',
                        'interval' => 'month',
                        'keyed' => true,
                        'format' => 'MMM'
                    ]
                ]
            ]

我得到的结果是带有键作为月份名称的存储桶。

我面临的问题是具有月份名称作为上一年密钥的存储桶被下一年的另一个月份覆盖(因为显然密钥是相同的)。

我想要结果,其中以前的桶的文档计数被覆盖与下一个的文档计数合并。

标签: phpelasticsearchnosqlelasticsearch-5

解决方案


您可以在索引期间添加单独的月份字段并对其执行聚合或使用以下脚本

{
  "size": 0,
  "aggs": {
    "deadline": {
      "histogram": {
         "script":  { "inline" : "return doc['deadline'].value.getMonthOfYear()" },
        "interval": 1
      }
    }
  }
}

创建单独的月份字段会有更好的性能


推荐阅读