如何在范围查询 Elasticsearch 中给出时间戳

how to give timestamp in range query Elasticsearch

在Elastic-search range query中,timestamp在这个2019-08-28T08:57:04.749Z格式中,当执行下面的查询时会抛出错误“Unrecognized chars at the end of [2019-08-28T08 :57:04.749Z- 1h]。我们怎样才能减去 1 小时的 lte 值?

  {
 "query": {
 "range" : {
    "@timestamp" : {
        "gte": "2015-03-20T01:21:00.01Z", 
        "lte": "2015-03-20T01:12:00.04Z-1h"

      }
   }
 }

正确的做法是添加双管,如下所示:

{
 "query": {
 "range" : {
    "@timestamp" : {
        "gte": "2015-03-20T01:21:00.01Z", 
        "lte": "2015-03-20T01:12:00.04Z||-1h"

      }
   }
 }

但是,您应该注意,您的查询不会 return 任何内容,因为截止日期早于起始日期。