我正在尝试找出每天不包含某个字段的文档数量。
我的想法是我可以计算每日回复率统计数据。
我正在使用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
字段。
答案 0 :(得分:0)
看起来missing
聚合对现有但空的数组字段不起作用。我必须重新编写聚合以使用必须存在的布尔值。
"aggs"=>[
"responded"=>[
"filter"=>[
"query"=>[
"bool"=>[
"must_not"=>[
"exists"=>[
"field"=>"responses"
]
]
]
]
]
]
]