[英]Get count of documents missing a field over a date histogram in ElasticSearch?
我正在嘗試找出不包含每天分組的某個字段的文檔數量。
我的想法是可以計算出每日響應率統計信息。
我正在使用PHP,但可以將JSON查詢愉快地轉換為合適的嵌套數組。
到目前為止,這就是我所擁有的。
$params['aggs'] = [
"daily"=> [
"date_histogram"=> [
"field" => "date_created",
"interval" => "1d",
"min_doc_count" => 0
],
"aggs"=>[
"unresponded"=>[
"missing"=>[
"field"=> "responses"
]
]
]
]
];
這會返回數據,並且按預期每個daily
存儲桶都unresponded
,但是這些值與數據不符。 取而代之的是, daily
存儲桶中的每個文檔都將在未unresponded
存儲桶中進行處理,而不管該特定日期的文檔是否具有response
字段。
看起來missing
聚合不適用於現有但空的數組字段。 我不得不對聚合進行重新處理,以使用布爾型必須存在的布爾值。
"aggs"=>[
"responded"=>[
"filter"=>[
"query"=>[
"bool"=>[
"must_not"=>[
"exists"=>[
"field"=>"responses"
]
]
]
]
]
]
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.