在 ElasticSearch 中获取日期直方图中缺少字段的文档计数?

卢克

我试图找出不包含每天分组的某个字段的文档数量。

我的想法是可以计算出每日响应率统计信息。

我正在使用 PHP,但可以愉快地将 JSON 查询转换为合适的嵌套数组。

这是我到目前为止所拥有的。

$params['aggs'] = [
                "daily"=> [
                    "date_histogram"=> [
                        "field" => "date_created",
                        "interval" => "1d",
                        "min_doc_count" => 0
                    ],
                    "aggs"=>[
                        "unresponded"=>[
                            "missing"=>[
                                "field"=> "responses"
                            ]
                        ]
                    ]
                ]
            ];

这将返回数据,如预期的那样,unresponded每个daily存储桶都有一个存储桶,但是这些值与数据不符。取而代之的是,无论该特定日期的文档是否具有字段daily存储桶中的每个文档都被计入unresponded存储桶中response

卢克

看起来missing聚合不适用于现有但空的数组字段。我不得不重新设计聚合以使用必须不存在的布尔值。

"aggs"=>[
    "responded"=>[
          "filter"=>[
               "query"=>[
                   "bool"=>[
                       "must_not"=>[
                           "exists"=>[
                               "field"=>"responses"
                            ]
                        ]
                    ]
                ]
           ]
      ]
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章