摘要: Solr的日期字段(TrieDateField 和DateRangeField)可以對一個時間點以毫秒精度表示。
格式
Solr中的日期有很嚴格的格式限制:
YYYY-MM-DDThh:mm:ssZ
- YYYY 表示年
- MM 表示月份
- DD 表示天
- hh 表示小時,24小時制
- mm 表示分鍾
- ss 表示秒鍾
- Z 代表時區是UTC
比如:
2017-01-22T17:33:18Z
- 時區不能換,只能是UTC
- 更精細的表示時間可以是:2017-01-22T17:33:18.333Z
查詢
由於Solr的時間中有一個特殊符號 冒號(:),在查詢的時候可以使用下面幾種方式對一個時間字段查詢
datefield:2017-01-20T17:33:18.333Z
datefield:”2017-01-20T17:33:18.333Z”
datefield:[2017-01-20T17:33:18.333 TO *]
時間區間表示
- 2017-01 2017年整個1月
- 2017-01T13 2017年整個1月每天13:00到14:00
- [2017-01-01 TO 2017-01-22] 2017年1月1號到22號
- [2017 TO 2017-01-22] 2017年1月1號到22號
- [ * TO 2017-01-22] 2017年1月22號之前
計算時間
Solr支持一些簡單的數學計算,並且內建了一些表達式
- NOW 當前時間
- NOW+2MONTHS 之后的兩個月時間內
- NOW-1DAY 一天前
- NOW/HOUR 從這個小時開始