Ограничение запросов ElasticSearch со стороны клиента
ElasticSearch — классная штука, но он не всемогущ. Некоторые запросы могут привести к OOM в кластере. Это может случиться по разным причинам, но в основном связано с дополнительными функциями: подсветка (создает мини-индекс в памяти), агрегации и т.п. — сам по себе поисковый запрос ничего не положит, если только настройки кластера не совсем убогие. Однако есть способы ограничить поисковый запрос на стороне клиента:
timeout
— по умолчанию его нет, но это можно изменить.terminate_after
— ограничивает максимальное число документов, возвращаемое с одной шарды. Хорош в тех случаях, когда поиск подразумевает небольшое число результатов.
UPD: однако с этими настройками стоит быть аккуратнее: они могут вести себя не очень предсказуемо при наличии сортировки: не факт, что будут выданы именно первые результаты.