Профессиональный поиск (Manticore Search или MySQL FULLTEX)

Профессиональный поиск (Manticore Search или MySQL FULLTEX)

webictus
5.0 (1 отзывов)40 установок

⚠️ Рекомендуем устанавливать поиск только в том случае, если вы понимаете принципы работы поисковых движков и умеете их настраивать. Также поможем настроить это за отдельную плату.

Плагин работает только с интерфейсом 2.0.

Профессиональный поиск — плагин для Shop-Script , который заменяет штатный поиск товаров на витрине и в админке на полноценный полнотекстовый движок. Покупатель находит товары быстрее: по названию, артикулу, описанию, тегам, характеристикам и категориям — с учётом русской морфологии, опечаток и неверной раскладки клавиатуры.

Плагин поддерживает два режима : Manticore Search — для VPS/VDS, где установлен отдельный поисковый сервер (максимальная скорость и гибкость); и Lite Search — на базе MySQL FULLTEXT, работает на обычном shared-хостинге без установки дополнительных служб. Переключение — одной настройкой в админке.

Простыми словами: покупатель вводит «диван угловой серый» или даже «divan» с опечаткой — плагин понимает запрос, подсказывает варианты в строке поиска и выводит релевантные товары. После нескольких поисков на главной может появиться блок «Рекомендуем для вас» с товарами по интересам посетителя.

Что получает покупатель на витрине :

Быстрый и «умный» поиск на странице /search/ — лучше, чем стандартный LIKE в Shop-Script.

Живой поиск в шапке: товары, категории, бренды и поисковые фразы при вводе (как на крупных маркетплейсах).

История «Вы искали» и блок «Популярное» в выпадающем списке поиска.

Поиск по артикулу, тегам, характеристикам (бренд, цвет, материал и т.д.).

Исправление опечаток и автосмена раскладки ( ghbdtn → «привет»).

Блок «Рекомендуем для вас» на главной — товары по личной истории поиска (гости и авторизованные).

Что получает магазин в Shop-Script :

Два движка на выбор: Manticore Search (VPS) и Lite Search (MySQL FULLTEXT).

Индексация при сохранении товара + очередь и cron для фоновой обработки.

Полная переиндексация из админки или CLI — с прогресс-баром.

Резервный fallback на штатный поиск Shop-Script, если Manticore временно недоступен.

Настройка весов полей, режима совпадения слов (AND / кворум / OR), ранжирования.

Журнал поисковых событий и управление историей в бэкенде.

Закрытый Diagnostic API для проверки рекомендаций и интеграции на prod.

Где настраивать :

Shop-Script → Настройки → Плагины → Профессиональный поиск — движок, индекс, поля, подсказки, история, рекомендации, служебное.

Два поисковых движка — когда какой выбрать

Manticore Search

Lite Search (MySQL FULLTEXT)

Где работает

VPS, VDS, выделенный сервер с установленным Manticore

Любой хостинг с MySQL/MariaDB (shared, VPS)

Нужен пакет Manticore Search на сервере (см. инструкции Ubuntu/CentOS ниже)

Только плагин — таблица создаётся автоматически

Очень высокая на больших каталогах (десятки и сотни тысяч SKU)

Хорошая на средних каталогах; зависит от MySQL

Морфология RU/EN

Лемматизация ( lemmatize_ru_all , lemmatize_en_all )

Морфология MySQL + настройки плагина

Опечатки (fuzzy)

Настраиваемый допуск 0–2

Есть поддержка нечёткого поиска в Lite

Частичное совпадение

min_infix_len — поиск по началу/фрагменту слова

Зависит от индекса FULLTEXT

Когда выбирать

Крупный каталог, высокая нагрузка, нужен максимум качества и скорости

Быстрый старт, shared-хостинг, нет root-доступа, средний каталог

Примеры поисковых запросов

Простые запросы (одно слово или короткая фраза):

диван — найдёт диваны, диван-кровати, «диван угловой» в названии и описании.

кресло офисное — два слова; режим «кворум» найдёт товары, где есть оба слова или их формы.

ART-55201 — поиск по артикулу SKU (если включено поле «артикулы»).

IKEA — поиск по бренду в характеристиках или тегах.

Сложные запросы (несколько слов, опечатки, раскладка):

стол письменный белый 120 — кворум/AND подберёт столы с нужными характеристиками.

креслo (с опечаткой) — fuzzy distance 1 исправит и найдёт «кресло».

divan вместо «диван» — транслит и морфология Manticore/Lite помогут найти кириллические карточки.

ghbdtn — автосмена раскладки переключит на «привет» и повторит поиск.

офисная мебель — совпадение в названии категории поднимет товары из нужных разделов.

Как это работает «простыми словами»

Вы включаете плагин и выбираете движок: Manticore или Lite.

Плагин индексирует товары (название, описание, SKU, теги, характеристики, категории).

Покупатель вводит запрос — движок возвращает ID релевантных товаров, Shop-Script показывает их на витрине с учётом фильтров (наличие, цена, категория).

В шапке при вводе работает живой поиск: подсказки без перезагрузки страницы.

Запросы сохраняются в историю — на главной появляются персональные рекомендации (если включено).

Живой поиск и история

Подсказки товаров — мини-карточки с фото и ценой.

Поисковые фразы — «кресло компьютерное», «кресло офисное» (как на Ozon).

Категории и бренды — быстрый переход в нужный раздел.

Вы искали — личные недавние запросы посетителя.

Популярное — топ запросов всех покупателей.

Для авторизованных — объединение гостевой истории с профилем покупателя.

Рекомендации «Рекомендуем для вас»

Блок на главной по истории поиска: гость или авторизованный покупатель.

Режимы: фиксированное число с ротацией при обновлении или бесконечная прокрутка.

Настройки: сколько товаров показывать, сколько брать из каждого запроса, минимум для показа блока.

Плагин автоматически запрашивает у поиска запас кандидатов — часть товаров витрина скрывает (нет в наличии), поэтому «29 в настройке» не всегда равно «29 на экране».

Интеграция с темой

Для живого поиска в форме нужны атрибуты data-manticoresearch на поле ввода и форме. Примеры из настроек плагина (вкладка «Служебное → Внедрение в тему»):

Строка поиска в шапке (header.html):

{if $wa->shop}

placeholder="Найти товары" class="header-search__field">

Рекомендации — короткий вызов (плагин сам рендерит блок):

{if $wa->shop && $wa->shop->manticoresearchPlugin->version()}

{$wa->shop->manticoresearchPlugin->recommendations()}

Рекомендации — свой шаблон списка (Candyshop, products-list.html):

{$mcs_rec = $wa->shop->manticoresearchPlugin->recommendationDataEx('products-list.html', $list_view)}

{if !empty($mcs_rec.products)}

{$mcs_rec.wrapper_open}

{$products = $mcs_rec.products}

{include file="./products-list.html" list_title=$mcs_rec.title list_view=$list_view mcs_recommendation=1 limit=null is_carousel=false}

{$mcs_rec.loader}{$mcs_rec.sentinel}{$mcs_rec.wrapper_close}{$mcs_rec.assets}

Главная через отдельный файл:

{include file="manticoresearch.html"}

В теме Candyshop добавьте блок manticoresearch в настройках главной страницы (Site → Дизайн → Главная). Подробные примеры — во вкладке «Служебное» настроек плагина.

Разделы настроек плагина

Общие — включение, выбор движка, поиск на витрине и в бэкенде.

Manticore — хост, порт 9306, имя индекса, таймаут, fallback, cron.

Lite Search — параметры MySQL FULLTEXT, переиндексация Lite.

Индексация — поля и веса, морфология, fuzzy, раскладка, характеристики.

Ранжирование — режим слов (AND/кворум/OR), ranker, отсечение слабых совпадений.

Живой поиск — подсказки товаров, фраз, категорий, брендов.

История — «Вы искали», «Популярное», срок хранения, связь с покупателями.

Рекомендации — блок на главной, режим, лимиты, подгрузка.

Служебное — Diagnostic API, примеры внедрения в тему, cron-команды.

Рекомендуемый порядок первой настройки

Установите плагин, включите «Профессиональный поиск».

Выберите движок: Lite (хостинг) или Manticore (VPS — см. инструкции установки).

Запустите полную переиндексацию из админки.

Настройте поля и веса; включите «Поиск на витрине».

Добавьте data-manticoresearch в форму поиска темы; проверьте живой поиск.

При необходимости включите историю и рекомендации; добавьте блок на главную.

Настройте cron для очереди индексации (команды — во вкладке «Служебное»).

Частые вопросы

Нужен ли отдельный сервер? Только для Manticore. Lite работает на обычном хостинге.

Что если Manticore упал? Включите fallback — поиск переключится на Shop-Script.

Почему в рекомендациях меньше товаров, чем в настройке? Витрина скрывает недоступные товары; плагин запрашивает запас из поиска автоматически.

Работает ли с моей темой? Да, если добавить атрибуты в форму поиска и при необходимости блок рекомендаций по примерам выше.

Ищет ли в админке? Да, при включении «Поиск в бэкенде».

Полезные ссылки

Shop-Script

Документация Manticore Search

Нужна помощь с настройкой под ваш сайт? Пишите на scc.lac@mail.ru или в Telegram @web_stu .