A
A
atis //2016-11-17 16:36:21
MySQL
atis //, 2016-11-17 16:36:21

What is the best way to create a search for a site using MySql + ElasticSearch?

И так сразу к делу.
Необходимо создать поиск товаров на сайте.
ES ищет по названиям, Mysql фильтрует данные по дополнительным фильтрам указанным юзером.
Все бы хорошо. Но. Как это дело мапить?
Тянуть из ES десять тысяч id и добавлять в Sql запрос не очень хочется.
Хранить все фильтры в ES тоже особого желания нет.
Реально это все дело красиво смапить и превратить в выдачу?
Сервис работает на Yii2 но официальный екстеншен не юзается ( у нас ES 5.0 ).
PS: данных 10м. В скором времени будет до 100м.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
al_gon, 2016-11-17
@atis2345

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

D
Dimonchik, 2016-11-17
@dimonchik2013

sphinx + MVA + Facet
but you continue with Elastic)))

X
xmoonlight, 2016-11-18
@xmoonlight

maybe so

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question