NOW パラメータにより、Date Math で記述した “NOW” を特定の日付に設定することができます。 NOW パラメータには、いわゆる UNIX TIME の Long 値を指定します。 NOW パラメータを指定することで、複数のノードにまたがる分散検索での NOW の値を揃えることができます。テストのときにも役に立ちそうです。
TZ
TZ パラメータを指定することで、デフォルト UTC である Date Math の日付計算を別のタイムゾーンとして扱うことができます。
[
{
"id":"1",
"start_end":[
"[2020-03-01T18:00Z TO 2020-03-01T23:00Z]"
]
}
]
以下のクエリで2020年3月1日19時に営業している店舗を検索できます。
start_end:"2020-03-01T19:00:00Z"
DateRangeFieldを使うパターンだと営業時間を複数登録するのも簡単です。
[
{
"id":"2",
"start_end":[
"[2020-03-01T11:00Z TO 2020-03-01T14:00Z]",
"[2020-03-01T18:00Z TO 2020-03-01T23:00Z]",
"[2020-03-02T18:00Z TO 2020-03-02T23:00Z]",
"[2020-03-04T11:00Z TO 2020-03-04T14:00Z]",
"[2020-03-04T18:00Z TO 2020-03-04T23:00Z]"
]
}
]
クエリは先程と同じもので大丈夫です。
start_end:"2020-03-01T19:00:00Z"
DatePointFieldでstartとendの2つのフィールドを使うパターンだと、どうでしょう? start と end を multiValued にしても解決しません。