如何在 Elasticsearch 查询中用具体的日期时间替换"now"?



我想在以下查询中用datetime 2017-02-17T15:02:00替换 now

POST /myindex/_search
{
  "size": 0,
"aggs": {
    "range": {
        "date_range": {
            "field": "Datetime",
            "ranges": [
                { "to": "now-1H/H" }, 
                { "from": "now/H" } 
            ]
        }
    }
}
}

如果我用2017-02-17T15:02:00直接替换now,则查询失败了错误:

type":" illegal_argument_exception","原因":"未识别的字符 [2017-02-17T15:02:00/h]的结尾:[/h]"

另外,如何指定小时的四分之一而不是1H?

日期数学文档指出

表达式从锚点开始,该日期可以是now,也可以是以||结尾的日期字符串。

这意味着在您的示例中,您必须用2017-02-17T15:02:00||

替换now

尝试{ "to": "2017-02-17T15:02:00||-1H/H" }

要指定四分之一小时,请改用分钟表示法:
{ "to": "2017-02-17T15:02:00||-15m/H" }

最新更新