簡體   English   中英

Elasticsearch日期直方圖存儲桶從錯誤的日期開始

[英]Elasticsearch Date Histogram buckets starts from wrong date

我有ElasticSearch分析查詢。 它必須通過7d桶匯總和。 我也使用擴展邊界。 但結果桶從錯誤的日期開始。 彈性5.2.2版本。 我做錯了什么?

{
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "doc.dateExecute": {
              "from": "2017-07-11",
              "to": "2017-07-31",
              "include_lower": true,
              "include_upper": true,
              "boost": 1.0
            }
          }
        }
      ],
      "disable_coord": false,
      "adjust_pure_negative": true,
      "boost": 1.0,
      "_name": "onDates"
    }
  },
  "aggregations": {
    "time": {
      "date_histogram": {
        "field": "doc.dateExecute",
        "interval": "7d",
        "offset": 0,
        "order": {
          "_key": "asc"
        },
        "keyed": false,
        "min_doc_count": 0,
        "extended_bounds": {
          "min": "2017-07-11",
          "max": "2017-07-31"
        }
      },
      "aggregations": {
        "incomingAmount": {
          "sum": {
            "field": "doc.incomingAmount"
          }
        },
        "outgoingAmount": {
          "sum": {
            "field": "doc.outgoingAmount"
          }
        }
      }
    }
  }
}

但是水桶從“2017-07-06T00:00:00.000Z”開始,並且以7d間隔進入“2017-07-27T00:00:00.000Z”。 我錯過了什么? 謝謝!

更新1

我會嘗試多種查詢變體。 不同的時區,范圍,禁用exteneded_bounds,間隔7天。 它僅適用於1-3d間隔。

好的,在彈性論壇上進行了一些對話並注冊了一個bug:

1)在ES中使用DateHistogram和ExtendedBounds很棘手(至少5.2)DateHistogram從UnixEpoch 1970-01-01開始存儲桶,所以如果你使用天間隔(如7d或3d等)但需要從左邊界開始存儲桶 - 你需要設置左邊框日期的偏移量(以毫秒為單位)。 2)但我們仍然在5.2.2版本上有一些錯誤。 在7d的時間間隔內,我們在Thu(01-01-1970是Thu)上有明確的第一個桶。 所有其他桶具有適當的偏移量。

缺乏文檔和很多奇怪的行為:(

暫無
暫無

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

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