首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的时间戳范围查询不返回任何内容

为什么我的时间戳范围查询不返回任何内容
EN

Stack Overflow用户
提问于 2020-04-09 23:58:34
回答 1查看 540关注 0票数 1

我使用elasticsearch开放发行版来创建一个警报系统。但是我的elasticsearch查询有一个问题:

代码语言:javascript
运行
复制
"search": {
                "indices": ["test_alert"],
                "query": {
                    "size": 3,
                    "aggregations": {},
                    "query": {
                        "bool": {
                            "filter": {
                                "range": {
                                    "@timestamp": {
                                        "gte": "now-1h",
                                        "lte": "now",
                                        "format": "epoch_second"
                                    }
                                }
                            }
                        }
                    }
                }
            }

这是我在我的开放发行版监视器中使用的查询。问题是now-1h似乎不工作,我总是得到一个空的结果。我尝试了原始的时间戳(为了匹配并得到结果),它工作得很好。我不明白为什么当我使用now-1h时,range根本不能工作。

下面是我的映射:

代码语言:javascript
运行
复制
properties": {
    "timestamp": {
        "type": "date",
        "format": "epoch_second"
    },
    "value": {
        "type": "long"
    }
}

感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 00:20:15

您的映射是timestamp,但是您的查询包含@timestamp。这两个名称需要一致。顺便说一句,@timestamp没有什么特别之处--它只是一个约定。您可以对任何日期时间字段执行range.gte now-1h

正确的映射:

代码语言:javascript
运行
复制
PUT test_alert
{
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date",
        "format": "epoch_second"
      },
      "value": {
        "type": "long"
      }
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61125252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档