Solrで日付の加算/減算をする
Solrを使っていて条件に半年先ってどう書くんだっけなー、と思い調べてみました。
http://docs.lucidworks.com/display/lweug/Solr+Date+Format
日付の加算/減算は、以下のように[日付][+/-][単位]とすればよいそうです。
opened_at:[* TO NOW+6MONTH]
NOWは現在時刻を表す書式で、この部分は日付でも構いません。
opened_at:[* TO 2014-01-30T12:34:56Z+6MONTH]
などと書くこともできます。
ついでにわかったことですが、[日付]/[単位]とすればその単位で丸めた値が取得できるようです。
opened_at:{* TO NOW+6MONTH/DAY}
で今日の6ヶ月後の午前0時未満の日付を持つドキュメントが抽出できます。
加算/減算/丸めに使える単位は以下の通りです。
単数形と複数形には特に挙動の違いはありません。
単位 | 書式 |
---|---|
年 | YEAR / YEARS |
月 | MONTH / MONTHS |
日 | DAY / DAYS / DATE |
時 | HOUR / HOURS |
分 | MINUTE / MINUTES |
秒 | SECOND / SECONDS |
ミリ秒 | MILLISECOND / MILLISECONDS / MILLI / MILLIS |
ミリ秒とか使い道が思い浮かばない。