Насколько я понимаю, единственный способ сделать запрос к ElasticSearch в Yii2 — запустить ElasticModel::find()->query($query)
, где $query
— это сложный массив, содержащий фактический запрос, написанный на DSL запроса ElasticSearch.
Запрос огромен и быстро становится неуправляемым. Для SQL Yii2 предоставляет мощный класс построителя запросов, который поддерживает множество полезных методов, таких как andWhere()
. Для ElasticSearch все сводится к одному гигантскому выражению запроса, очень похожему на построение строки выражения SQL вручную.
Есть ли какая-нибудь высокоуровневая оболочка для запроса DSL ElasticSearch для Yii2? Если нет, есть ли отдельная библиотека с аналогичной функциональностью?