Модуль от RetailFactory.ru: Быстрый и умный поиск на ElasticSearch. Морфология и исправление ошибок

@a.shishkin
С фильтрами пока ничего не поняли, не сказать что стало супер быстро, наверно нужно смотреть на реальных магазинах. Ну это ладно.

Похоже не работает поиск по характеристикам
Есть планшет Samsung Galaxy Tab 7.0" (Verizon) с характеристиками


И вот что выводит
251Z954Z

1 лайк

Спасибо, что заметили. Поправили.

Summary

Начала вываливаться ошибка

Баг исправлен

1 лайк

Есть люди, которые переходят в предыдущую папку ТоталКоммандер по alt + ←
но сколько их в ЦА сайта? Если учесть, что трафик с мобильных устройств ~ 70%

Нерепрезентативная выборка.

Поясните, пжл, подробнее: что означает переделанный сбор фильтров?
Будут ли сами фильтры работать быстрее? На демо вашем не заметил этого.

На демо разницы и не будет - на малых объемах она вообще не видна. Там 5 фильтров.

На магазинах, у которых фильтров от 3000 и больше она огромная.

Мы убрали запросы в БД для сбора фильтров, они собираются в Elastic на основе индекса.

Поторопились, теперь все ок. Спасибо.

А вот эти запросы аналогичным образом никак невозможно побороть?
SELECT SQL_CALC_FOUND_ROWS products.product_id FROM cscart_products as products LEFT JOIN…

@a.shishkin
Из хотелок, возможно ли научить поиск учитывать названия всех категорий товара + название товара. Например если говорить про демо то при запросе “телефон nokia” хотелось бы чтобы выдавало все телефоны nokia, сейчас пишет просто что ничего не найдено(хотя есть категория телефоны и в ней товары с названием nokia). Дополнительно возможно если нет телефонов такой марки то чтобы по такому запросу все же выдавало категорию телефоны, а не ничего не найдено(вторая часть это конечно уже супер хотелка)

1 лайк

Первое добавили, хорошее замечание.

Теперь поиск будет работать по связке Категория + Целевой запрос.

А второе пока не будем, будет много проблем с таким решением - но в будущем подумаем еще.

Как вариант можно добавить еще поиск по Брендам. Пример Ozon:

1 лайк

Хорошо бы транслит в поиск добавить. “Футболка Адидас” не ищется

2 лайка

@a.shishkin
Еще по категориям, вот товар
https://demo.retailfactory.ru/sport-i-otdyh/velosipedy/komfort-i-kruizer/drifter-2/

Но поиск работает только по категории товара, категории верхнего уровня не учитываются, в итоге “велосипед Drifter” не находит, а вот “комфорт drifter” находит. Кажется что нужно учитывать все верхние категории или возможно в модуле нужна настройка учитывать или нет. Возможно должна быть зависимость от настройки карта “Отображать товары подкатегорий для выбранной категории”

Временно убрали, оповестим. Добавим умный транслит, а не банальную замену.

1 лайк

Пока это ожидаемое поведение, но мы думаем как этот момент улучшить.

для ададис нужно создать синоним на adidas, тогда все будет работать

Я не сторонник делать руками то, что можно автоматизировать.
Просто тогда и умные поиски не нужны - надо насоздавать синонимов Абибас, Абибос, Ададас
Пусть конкуренты делают руками, а мы их заборем на автоматизации)

Транслит будет, но не сразу. Добавим его.

Текущий поиск уже отрабатывает по сравнению с аналогами на голову выше, по уровню как сервис по подписке.

Очень ожидаю развитие поиска, в виде добавления параметра вендора по которому вести поиск, который можно было бы задавать в файле шаблона поиска. Чтобы можно было из Smarty в зависимости от условий искать или по основному каталогу, или по определенному вендору. В параметре нужно иметь возможность задать vendor_id, где 0 - основной каталог, а другие значения которые можно подставлять на своё усмотрение. Плюс иметь возможность менять этот параметр из JS(чтобы сделать возможность в поисковой строке сделать выбор - искать в рамках магазина вендора в котором находимся, или по товарам основного каталога).

Для MVP это было бы просто идеальным решением, как и для интернет-магазинов с большим числом товаров и фильтров. Брал тестировать, работает просто прекрасно.

1 лайк