Проблема с запросом Elasticsearch — неверно сформированный запрос [range], ожидаемый [END_OBJECT], но найденный [FIELD_NAME]

#elasticsearch #curl #console #kibana

#elasticsearch #curl #консоль #кибана

Вопрос:

Я не могу понять, что не так с приведенным ниже запросом.

 GET website/_search
{
  "query": {
    "bool": { 
      "filter": [
        {
          "range": {
            "@timestamp": {
            "gte": "now-1d/d",
            "lt": "now/d"
            }
          },
          "match": {
            "aspnet-request-url.keyword": "abc.com/Default.aspx"
          }
        }
      ] 
    }
  }
}
  

Оба range и match работают нормально независимо.

Согласно документации, в нем говорится, что при объединении более одного запроса мы должны использовать либо must , filter , must-not в bool запросе.

Тем не менее, он выдает [range] malformed query, expected [END_OBJECT] but found [FIELD_NAME] .

Любая помощь приветствуется.

Ответ №1:

неверно сформированный запрос [range], ожидаемый [END_OBJECT], но найденный [FIELD_NAME]

Из приведенной выше ошибки ясно, что запрос сформирован неправильно. Пожалуйста, обратитесь к этому, чтобы узнать больше о структуре запроса и контексте фильтрации.

Вам не хватает некоторых скобок, попробуйте следующий поисковый запрос

 {
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "@timestamp": {
              "gte": "now-1d/d",
              "lt": "now/d"
            }
          }
        },
        {                          <-- note this
          "match": {
            "aspnet-request-url.keyword": "abc.com/Default.aspx"
          }
        }
      ]
    }
  }
}
  

Комментарии:

1. Привет, Бхавья, спасибо за быстрый ответ. Да, это правильно.

2. @UshmaMulwani спасибо, что приняли мой ответ, не могли бы вы также поддержать мой ответ 🙂 1 за ваш вопрос 🙂