Parsing_exception:[范围] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]

Parsing_exception: [range] malformed query, expected [END_OBJECT] but found [FIELD_NAME]

我的 DSL 查询如下所示。出于某种原因,当我在 Kibana CLI 中 运行 它时,它告诉我:

GET elastic-search-app-log*/_search
{
  "size": 42,
  "query": {
    "range": {
      "dateRanges": {
        "gte": "2021-05-20T10:15:00",
        "lte": "2021-05-18T14:58:00"
      }
    },
    "match": {
      "level": "Error"
    }
  }
}

我检查了一下牙套是否对齐,但它们看起来不错。是否有什么原因导致此消息?

您需要使用 bool/must 子句

组合所有查询
{
  "size": 42,
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "dateRanges": {
              "gte": "2021-05-20T10:15:00",
              "lte": "2021-05-18T14:58:00"
            }
          }
        },
        {
          "match": {
            "level": "Error"
          }
        }
      ]
    }
  }
}