5

値が次のような時間フィールドを持つインデックスがあります。

time: 2012-06-02T12:25:27+02:00

次に、次のクエリを実行しています。

{
  "sort": {
    "time": "desc"
  },
  "query": {
    "query_string": {
      "query": "time:[2012-6-2T12:24:00Z TO 2012-6-2T12:26:00Z]",
      "default_operator": "AND"
    }
  },
  "size": 30
}

これは 0 件のヒットを返していますが、クエリ文字列を 2 時間ずらすと、その時間のレコードと一致します。したがって、これはタイムゾーンの問題であると確信しています。私が見つけたドキュメントを読んで、クエリに "time_zone" : 2 を入れることができますが、....前のクエリのどこに配置する必要がありますか? 多くのオプションを試しましたが、うまくいきませんでした。

4

1 に答える 1

6

おそらく、ヒストグラムの日付ファセットで「time_zone」パラメーターを見たことがあるでしょう。これは、このクエリとは異なります。query_string クエリは、time_zone パラメーターを受け入れません。ここでの最も簡単な解決策は、クエリで「Z」を目的のタイムゾーンに置き換えることだと思います。

{
  "sort": {
    "time": "desc"
  },
  "query": {
    "query_string": {
      "query": "time:[2012-6-2T12:24:00+02:00 TO 2012-6-2T12:26:00+02:00]",
      "default_operator": "AND"
    }
  },
  "size": 30
}
于 2012-06-02T15:55:16.053 に答える