首页 > 解决方案 > 通过给定范围的属性查询弹性搜索索引?

问题描述

我想查询我的索引,以便每当出现名为站点名称的特定属性时它都匹配,但我想要某个时间范围内的所有数据。我认为这可能是以下内容,但不确定:

  {
      "query": {
        "range": {
          "timestamp": {
            "gte": "now-1h/h",
            "lt": "now/h"
          }
        },
        "match": {"sitename" : "HARB00ZAF0" } 
      }
  }

标签: pythonelasticsearchtimerange

解决方案


您快到了,但您需要利用bool查询

{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "timestamp": {
              "gte": "now-1h/h",
              "lt": "now/h"
            }
          }
        }
      ],
      "must": [
        {
          "match": {
            "sitename": "HARB00ZAF0"
          }
        }
      ]
    }
  }
}

推荐阅读