Существует ряд причин, по которым поисковый запрос может быть отклонен кластером.
Как правило, эти причины делятся на 2 основные группы:
- Проблемы, связанные с производительностью / рабочей нагрузкой
- Проблемы, связанные с отображением или синтаксисом
Проблемы, связанные с производительностью / рабочей нагрузкой
Вот некоторые из проблем, из-за которых поисковые запросы могут быть отклонены:
- 403 Request throttled due to too many requests
- 400 Circuit Breaker Errors
- 400 Queue Full Errors
Как правило, следует просмотреть данные мониторинга, чтобы выяснить, почему кластер OpenSearch не справляется с текущей нагрузкой. Имейте в виду, что первопричиной этих ошибок может быть нечто совершенно иное, чем конкретный отправленный запрос.
В этом случае можно просто повторить команду в более позднее время, когда кластер не так загружен.
Как исправить
- Ошибки, связанные с дросселированием запроса, см. на сайте: https://es-os.ru/opensearch/229/vysokoe-ispolzovanie-protsessora-opensearch-osnovnye-prichiny-resheniya-i-mnogoe-drugoe/
- Об ошибках автоматического выключателя см.: https://es-os.ru/opensearch/348/opensearch-avtomaticheskiy-vyklyuchatel-ispolzovanie-primery-rasprostranennye-problemy/
- Об ошибках отклонения очереди см: https://es-os.ru/elasticsearch/458/ochered-otklonennyh-zaprosov-elasticsearch-prichiny-i-kak-ih-reshit/
Проблемы, связанные с отображением или синтаксисом
Одна из проблем, из-за которой поисковые запросы могут быть отклонены, - это: 400 Parsing Exception
Эта проблема возникает из-за специфики отправляемого запроса и не подлежит восстановлению.
Как исправить
Обычно это результат неправильной структуры или терминологии в запросе. В частности, вам следует проверить, какую версию OpenSearch вы используете, и убедиться, что синтаксис запроса корректен для этой версии.