Как лучше создать поиск для сайта используя MySql + ElasticSearch?
Обычно в таких сценариях всё лежит в поисковом движке. Всё это поля для поиска и id самого товара. Больше этого не надо.
Идет запрос  к ES обычно страничный, находятся Id's идет запрос к SQL и вытаскиваются все нужные поля, часто между ES и SQL есть кэш. 
Как упаковать в  Yii2, это отдельный вопрос (коим не владею), скорее всего вам понадобится позже фасетированние и автокомплит.
sphinx + MVA + Facet
но вы продолжайте с Эластиком )))