Сверхбыстрый поиск (Elasticsearch)

Last update: 06.10.2026
ip5_elastic_search
Сверхбыстрый поиск (Elasticsearch)
5490 ₽

01_general.png

IP5 Agency — Elastic Search: модуль быстрого полнотекстового поиска для CS-Cart и MultiVendor

Модуль доступен на 2 языках: русском, английском.

Стандартный поиск CS-Cart плохо справляется с опечатками, большими каталогами и сложными запросами. Модуль заменяет его на быстрый полнотекстовый поиск на базе Elasticsearch: устойчивость к опечаткам, синонимы, стоп-слова, мгновенные подсказки и подробная статистика запросов. При недоступности Elasticsearch поиск автоматически переключается на стандартный MySQL-поиск CS-Cart — покупатель ничего не замечает.

Как работает модуль

В основе модуля — четыре сущности:

  • Индексация — полная переиндексация каталога в Elasticsearch (идемпотентная, через build-индекс + алиас).
  • Поиск и автодополнение — запросы идут в Elasticsearch; при сбое срабатывает FallbackGuard и поиск возвращается к MySQL.
  • Синонимы и стоп-слова — управляются в админке и применяются при следующей полной переиндексации.
  • История поисковых запросов — логирование всех запросов, пустых поисков и топ-запросов.

1. Установка и первичная настройка

1. Скопируйте содержимое пакета в корень CS-Cart (сохраняя структуру app/, design/, js/, var/).

2. Установите зависимости:

cd app/addons/ip5_elastic_searchcomposer install --no-dev --optimize-autoloader

3. В админке: Дополнения → Управление дополнениями → найдите «IP5 Agency — Elastic Search» → Установить.

Если ранее была установлена более ранняя версия модуля — сначала удалите её (Деинсталлировать), затем установите заново: права доступа к новым разделам меню записываются в базу только при установке.

После установки модуль появляется в меню Website:

  • Indexation (Индексация)
  • Search query history (История поисковых запросов)
  • Synonyms and stop words (Синонимы и стоп-слова)

01_general.png

Рис. 1 — Вкладка General модуля: пункты меню и краткое описание.

2. Настройки подключения (Connection)

Откройте Дополнения → Управление дополнениями → IP5 Agency — Elastic Search → Settings → Connection.

Таблица ниже перечисляет все настройки секции Connection.

НастройкаЧто делает
EnabledОбщий выключатель: использовать Elasticsearch для поиска.
Elastic hostАдрес сервера Elasticsearch (по умолчанию 127.0.0.1).
Elastic portПорт (по умолчанию 9200).
Connection schemeСхема подключения: http или https.
Elastic login / passwordУчётные данные для доступа к Elasticsearch.
Elastic nodes namesИмена узлов кластера.
Prefix for indicesПрефикс для имён индексов (необязательно).
Elastic shards countКоличество шардов (по умолчанию 3).
Elastic replicas countКоличество реплик (по умолчанию 1).
Connect timeout, secТаймаут подключения в секундах.
Request timeout, secТаймаут запроса в секундах.

02_connection_top.png

Рис. 2 — Настройки подключения к Elasticsearch (основные параметры).

03_connection_bottom.png

Рис. 3 — Продолжение настроек подключения: шарды, реплики и таймауты.

После заполнения параметров рекомендуется проверить соединение. Успешное подключение отображается зелёным уведомлением на странице индексации.

3. Настройки поведения поиска (Search behavior)

Во вкладке Settings → Search behavior настраивается логика поиска.

НастройкаЧто делает
Fuzziness (typo tolerance)Устойчивость к опечаткам: 0 (только точное совпадение), 1, 2 или AUTO (рекомендуется).
Minimum should matchМинимальная доля совпадающих слов запроса (например, 75%).
Suggest results limitКоличество подсказок автодополнения (по умолчанию 8).
Indexation batch sizeРазмер пакета при индексации (по умолчанию 200).
Redirect to product page if only one result foundПри единственном результате сразу переходить на карточку товара.

Рис. 4 — (при наличии скриншота) Вкладка Search behavior с параметрами fuzziness, minimum should match и лимитами.

4. Индексация

Перейдите в Website → Indexation.

На странице отображается:

  • статус подключения к Elasticsearch;
  • текущий статус индексации (idle / running / completed / error);
  • дата последнего запуска;
  • количество проиндексированных товаров;
  • кнопка полной переиндексации;
  • история запусков.

04_indexation_completed.png

Рис. 5 — Страница индексации после успешного завершения. Статус Completed, все товары проиндексированы, видна история запусков.

Нажмите Run full reindexation, чтобы запустить полную переиндексацию каталога. Операция идемпотентна: создаётся новый build-индекс, после чего алиас переключается на него.

Важно: изменения в синонимах и стоп-словах применяются только после следующей полной переиндексации.

5. Синонимы и стоп-слова

Перейдите в Website → Synonyms and stop words.

06_synonyms_stopwords.png

Рис. 6 — Управление синонимами и стоп-словами. Синонимы указываются через запятую.

Синонимы позволяют находить товары по альтернативным написаниям (например, «камод» → «комод»). Стоп-слова исключаются из поискового индекса. После любых изменений необходимо запустить полную переиндексацию.

6. История поисковых запросов

Перейдите в Website → Search query history.

05_search_history.png

Рис. 7 — История поисковых запросов: все запросы, пустые поиски и топ-запросы. Доступен фильтр по датам и очистка истории.

Доступны три вкладки:

  • All queries — все зафиксированные запросы с количеством результатов и признаком использования fallback (стандартного поиска);
  • Empty searches — запросы, по которым ничего не найдено;
  • Top queries — самые популярные запросы.

7. Поиск на витрине

На витрине модуль обеспечивает быстрые подсказки при вводе и устойчивость к опечаткам.

07_suggest_normal.png

Рис. 8 — Автодополнение при корректном запросе «комод»: подсказки с названиями товаров и ценами.

08_suggest_typo.png

Рис. 9 — Поиск с опечаткой «камоды»: модуль всё равно находит релевантные товары благодаря fuzziness и/или синонимам.

8. Отказоустойчивость

При недоступности Elasticsearch (таймаут, неверные настройки, сервер недоступен) поиск автоматически переключается на стандартный MySQL-поиск CS-Cart. Ошибка логируется в журнал событий CS-Cart и видна только администратору. На витрине покупатель не видит никаких сообщений об ошибке.

Требования

  • CS-Cart / CS-Cart Multi-Vendor 4.18.1 – 4.21.x
  • PHP 8.1+
  • Elasticsearch 8.x
  • Composer (для установки официального PHP-клиента Elasticsearch)

Отзывы не найдены

Мы занимаемся CS-Cart с 2014 года Когда ежедневно работаешь с одной платформой много лет,

Контактная информация

Телефон +79782855558
Веб-сайт

Мы занимаемся CS-Cart с 2014 года

Когда ежедневно работаешь с одной платформой много лет, начинаешь понимать не только её возможности, но и ограничения. Именно поэтому большинство задач мы можем оценить ещё до начала разработки и сразу предложить оптимальное решение.

С 2014 года мы создаём интернет-магазины, маркетплейсы и корпоративные решения на CS-Cart. В нашей команде работают сертифицированные специалисты CS-Cart, а уровень экспертизы подтверждён официальной сертификацией платформы. Мы выполняем разработку вплоть до уровня ядра CS-Cart, поэтому не ограничиваемся типовыми настройками и можем реализовать действительно сложную функциональность.

За плечами наших разработчиков участие в проектах СДЭК.Маркет, Big.ru и других крупных eCommerce-решениях. Этот опыт позволяет быстро принимать технические решения и избегать ошибок, которые обычно появляются только после нескольких лет практики.

Мы ценим время клиентов. Поэтому не затягиваем согласования, соблюдаем договорённости, спокойно воспринимаем обратную связь и всегда стараемся найти решение, которое принесёт максимальную пользу бизнесу, а не просто выполнить очередную задачу.

Кроме разработки и написания модулей для CS-Cart, мы предлагаем поддержку вашего интернет-магазина.

Даем гарантии, что ваш проект будет работать без сбоев - мы настроены на долгосрочное сотрудничество и взаимную выгоду.


Создание и поддержка сайтов: комплексные решения для бизнеса


Разработка сайтов и интернет-магазинов под ключ, цены | IP5


Продвижение сайта и SEO-оптимизация под ключ, цены | IP5

Аналитика сайтов и интернет-магазинов, анализ данных, цены | IP5


Поддержка сайтов и интернет-магазинов | IP5

Вас может заинтересовать

Живой поиск
4.9 (47)
7500 ₽
Покупатель печатает — и сразу видит товары с фото, ценой и кнопкой «В корзину». Модуль понимает синонимы, словоформы и опечатки, ищет по артикулу и характеристикам, показывает, чего покупатели не нашли, и даёт завести синоним прямо из отчёта. Индекс слов держит скорость на каталогах в сотни тысяч товаров. Абонентской платы нет.
Автоматизация прайсов поставщиков
5.0 (29)
15330 ₽
17430 ₽
Скидка 12%
Импорт товаров и характеристик, обновление цен и остатков товаров из Excel / XML / CSV прайсов.
Незаполненные товары
5.0 (19)
1399 ₽
1925 ₽
Скидка 27%
Модуль позволяет быстро найти самые частые ошибки при заведении товаров - забыты картинки, характеристики, SEO теги.
Маркетинг по электронной почте
5.0 (14)
12000 ₽
Шесть писем, которые магазин отправляет без вашего участия: брошенная корзина, отложенные и просмотренные товары, просьба об отзыве после доставки, поздравление с днём рождения и рассылка по аудитории. В каждом письме — товары покупателя и его личный промокод, а в панели видно очередь, журнал отправок и статистику. С версии 1.36 — подписка на статьи «Расширенного блога» и рассылка о новых статьях.
PRO Marketing - все пиксели
5.0 (10)
5236 ₽
10500 ₽
Скидка 50%
Лучшее предложение на рынке - все самые необходимые пиксели в одном модуле,
Лейблы и стикеры для товаров
5.0 (9)
6000 ₽
Лейблы «−25%», «Новинка», «Хит продаж», «Осталось 3 шт.», «Нет в наличии» ставятся на товары сами, по условиям и без cron. 9 позиций на фото, строки у названия и цены, шаблоны в один клик.