Подтвердить что ты не робот

Как ограничить время запроса в elasticsearch?

Если вы используете query_string в elasticsearch с неудачным запросом по большому набору данных, вы можете почти принести кластер вниз, и это может занять довольно много времени, пока запрос не будет завершен. Это может быть серьезной проблемой, если вы разрешаете пользователям указывать произвольные строки запросов.

Итак, существует ли способ ограничить время и/или ресурсы, которые требует запрос? Если вы могли бы сказать elasticsearch автоматически прекратить запрос, скажем, через 10 секунд, это поможет довольно много.

4b9b3361

Ответ 1

Вы можете пройти поисковый "тайм-аут" в теле запроса или в запросе uri. Если запрос поиска истечет, прежде чем собирать все результаты, будут возвращены частичные результаты.

Здесь пример запроса uri в течение 10 секунд (единицы измерения указаны в миллисекундах):

http://localhost:9200/_search?timeout=10000

Если вы установите слишком низкий тайм-аут, возвращаемый json покажет "timed_out": true.