簡體   English   中英

獲取ElasticSearch中日期直方圖上缺少字段的文檔計數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM