elasticsearch @elasticsearch中的时间戳范围查询,elasticsearch,lucene,elasticsearch,Lucene" /> elasticsearch @elasticsearch中的时间戳范围查询,elasticsearch,lucene,elasticsearch,Lucene" />

elasticsearch @elasticsearch中的时间戳范围查询

elasticsearch @elasticsearch中的时间戳范围查询,elasticsearch,lucene,elasticsearch,Lucene,我是否可以对默认时间戳字段进行范围查询,忽略日期值,即仅使用时间戳中的时间-例如每天2小时 我的意图是搜索所有文档,但不包括在晚上9点到凌晨12点之间索引的文档(我在过滤中看到了日期范围的示例) 时间戳示例如下所示: "@timestamp": [ "2015-12-21T15:18:17.120Z" ] Elasticsearch版本:1.5.2我的第一个想法是在Elasticsearch查询中使用日期数学,例如,如果您在下午

我是否可以对默认
时间戳
字段进行范围查询,忽略
日期
值,即仅使用时间戳中的时间-例如每天2小时

我的意图是搜索所有文档,但不包括在晚上9点到凌晨12点之间索引的文档(我在过滤中看到了日期范围的示例)

时间戳示例如下所示:

"@timestamp": [
                  "2015-12-21T15:18:17.120Z"
               ]

Elasticsearch版本:1.5.2

我的第一个想法是在Elasticsearch查询中使用日期数学,例如,如果您在下午1点运行查询,这将起作用:

{
  "query": {
      "range" : {
            "@timestamp" : {
                "gte": "now-16h/h", 
                "lte": "now-1h/h"

            }
        }
  }
}
(不过要注意时区)

据我所知,唯一的其他可能性是使用

还请注意,您正在运行一个非常旧版本的Elasticsearch

编辑如果只需要绝对日期,请检查
@timestamp
字段的外观,并使用相同的格式,例如在我的Elasticsearch中,它将是:

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

            }
        }
  }
}

我特意写了一个2015年的日期(这不像我每天都在查询,我可以查询一年前的数据),基本上你只需要注意日期的格式,然后你可以简单地使用相同的格式和范围querw,请参阅我编辑的版本