2017-10-12 90 views
0

我有elasticsearch索引&類型具有字段映射依日期排序字段Elasticsearch

"data_received_on": { 
"type": "date", 
"format": "YYYY-MM-DD" 
}, 

我需要獲得最新的10條記錄,我有大約5000條記錄是在過去攤開1個月。

即。 date_received_on字段的值範圍爲2017-09-01至2017-09-30。

但是,當我在這個日期前訂購時,我的排序不會以正確的順序給我記錄。當我通過數字或字符串字段進行排序時效果很好,但是當我使用日期字段時,它的行爲不可預測。

我的排序條件很簡單

"sort" : { 
"data_received_on" : { 
"order" : "desc" 
} 
} 

什麼我需要做的不同,以獲得基於排序正確的日期字段?

+0

請編輯您的問題,以顯示 GET/{INDEX}/{TYPE}/_ mapping的完整結果。我自己也有類似的問題,但通常是當日期字段被錯誤地映射爲一個字符串。這看起來很奇特。當您使用這種排序時,是否應用了其他篩選? – Miek

+0

我已經在2.4.4和5.5.0測試過,你的配置和查詢工作正常。 – sunkuet02

回答

1

我發現了這個問題。

原因是我的日期格式是YYYY-MM-DD。它應該是yyyy-MM-dd。解決這個問題