Elasticsearch query_string в фильтре завершается ошибкой после обновления до 5.6 - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть следующий запрос Elasticsearch (обычно он больше, но вырезает ту часть, которая вызывает проблемы):

{
    "query": {
        "bool": {
            "filter": [{
                "bool": {
                    "must": {
                        "query": {
                            "query_string": {
                                "query": "notsoimportant"
                            }
                        }
                    }
                }
            }]
        }
    }
}

У нас он работал в ES 2.3.5 в течение нескольких месяцев без проблем.Сейчас мы хотим перейти на ES 5.6, но теперь этот запрос не выполняется:

"type": "parsing_exception",
"reason": "no [query] registered for [query]"

Я пытаюсь найти уведомление о критических изменениях в документации здесь.Может ли кто-то а) указать на изменения в документации и б) переписать этот запрос, чтобы он дал те же результаты?

ps: я обнаружил, что filtered запросы больше не вещь, но я не вижу измененийотносительно query_string и filter запросов вместе взятых.

1 Ответ

0 голосов
/ 20 сентября 2018

Вам необходимо удалить query внутри предложения must.Ваш запрос должен выглядеть следующим образом

{
    "query": {
        "bool": {
            "filter": [{
                "bool": {
                    "must": {
                        "query_string": {
                            "query": "notsoimportant"
                        }
                    }
                }
            }]
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...