Parsing_exception: [диапазон] некорректный запрос, ожидался [END_OBJECT], но найдено [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"
    }
  }
}

Я проверил, может быть, это выравнивание скобок, но они выглядят нормально. Что-то вызывает это сообщение?


person NoviceCoder    schedule 20.05.2021    source источник


Ответы (1)


Вам необходимо объединить все запросы, используя bool/must условие

{
  "size": 42,
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "dateRanges": {
              "gte": "2021-05-20T10:15:00",
              "lte": "2021-05-18T14:58:00"
            }
          }
        },
        {
          "match": {
            "level": "Error"
          }
        }
      ]
    }
  }
}
person ESCoder    schedule 20.05.2021
comment
Благодарю вас! Итак, всякий раз, когда у вас есть несколько запросов, вы должны включать bool & match? - person NoviceCoder; 20.05.2021
comment
Кодировщик @Novice всякий раз, когда у вас есть несколько запросов, вам нужно использовать логический запрос, и вы можете комбинировать эти запросы, используя любое предложение must/should/filter в соответствии с вашим вариантом использования. - person ESCoder; 20.05.2021
comment
Теперь понял, спасибо за разъяснение и помощь! Конечно могу! :) - person NoviceCoder; 20.05.2021