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,请参阅我编辑的版本