在Elasticsearch中使用2个不同的范围

时间:2017-05-19 13:42:49

标签: elasticsearch

我有这个查询只有在查询一个字段时才有效,但如果我尝试查询两个字段的范围,则会抛出错误:

{
  "query": {
    "range" : {
            "date" : {
                "gt" : "18/05/2017",
                "lt" : "19/05/2017"
            }
        },
    "range": {
            "number_of_cyclist_killed" : {
                "gt" : 0
            }

        }
  }
}

如何查询number of cyclists > 0以及日期范围内的位置?

1 个答案:

答案 0 :(得分:3)

试试这个:

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "date": {
              "gt": "18/05/2017",
              "lt": "19/05/2017"
            }
          }
        },
        {
          "range": {
            "number_of_cyclist_killed": {
              "gt": 0
            }
          }
        }
      ]
    }
  }
}