簡體   English   中英

Elasticsearch Date_Histogram不能覆蓋整個過濾器

[英]Elasticsearch Date_Histogram does not cover entire filter

我正在使用ES 日期直方圖,並且開始出現怪異的行為,我想知道為什么。

這是我發送給elasticsearch的請求:

{
   "from": 0,
   "size": 0,
   "query": {
      "filtered": {
         "filter": {
            "and": [
               {
                  "bool": {
                     "must": [
                        {
                           "range": {
                              "publishTime": {
                                 "from": "2010-07-02T12:15:20.000Z",
                                 "to": "2015-07-08T12:43:59.000Z"
                              }
                           }
                        }
                     ]
                  }
               }
            ]
         }
      }
   },
   "aggs": {
      "agg|date_histogram|publishTime": {
         "date_histogram": {
            "field": "publishTime",
            "interval": "1d",
            "min_doc_count": 0
         }
      }
   }
}

我得到的結果是存儲桶,第一個存儲桶是:

{
   "key_as_string": "2010-08-24T00:00:00.000Z",
   "key": 1282608000000,
   "doc_count": 1
}

所以我從2010-07-02開始過濾,僅從2010-08-24得到結果

這只是一個例子,我也看到這種現象,而且還有很多丟失的存儲桶(幾個月)。

[edit]這似乎與第一個結果的日期相關,這意味着該時間范圍內的第一個結果是從2010-08-24開始,但是由於我加入了"min_doc_count": 0我希望從整個范圍中獲得結果

min_doc_count僅足以在過濾器匹配的第一個和最后一個文檔之間返回空存儲桶。 如果要獲得整個范圍的結果,則還需要使用extended_bounds

  "aggs": {
      "agg|date_histogram|publishTime": {
         "date_histogram": {
            "field": "publishTime",
            "interval": "1d",
            "min_doc_count": 0
            "extended_bounds": {
                "min": 1278072920000, 
                "max": 1436359439000
            }
         }
      }
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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