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 回答