1. 程式人生 > >Solr中的日期/時間表示

Solr中的日期/時間表示

摘要: 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 從這個小時開始