我试图找出不包含每天分组的某个字段的文档数量。
我的想法是可以计算出每日响应率统计信息。
我正在使用 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] 删除。
我来说两句