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