
ПроКвартиРу: поиск и умный фильтр по каталогу на Elasticsearch
Замена стандартного поиска 1С-Битрикс на Elasticsearch: отдельный поисковый индекс, работа с характеристиками товаров и управляемая релевантность выдачи.
Каталог в цифрах
Поиск и фильтрация по каталогу для ПроКвартиРу
ПроКвартиРу — интернет-магазин материалов для современного интерьера, работающий на платформе 1С-Битрикс. В каталоге представлены обои, фрески, напольные покрытия, плинтусы, лепнина, краска и шторы.
По мере роста каталога возможностей стандартного поиска 1С-Битрикс стало недостаточно. Результаты сильно зависели от точного совпадения запроса с названием товара, а управлять релевантностью и учитывать большое количество характеристик было сложно.
Мы сохранили сайт, каталог и административную панель на 1С-Битрикс, но заменили штатный поисковый механизм и умный фильтр на Elasticsearch. Товары и их характеристики индексируются в отдельном поисковом контуре, а результаты возвращаются в привычный интерфейс каталога.
Подробности реализации, архитектура и особенности интеграции разобраны в блоках ниже.

Замена поиска и умного фильтра 1С-Битрикс на Elasticsearch
Мы внедрили Elasticsearch в существующий интернет-магазин на 1С-Битрикс, чтобы ускорить поиск и работы умного фильтра по большому каталогу, повысить релевантность выдачи и учитывать названия, артикулы, бренды, коллекции и характеристики товаров.
Поисковый движок
Elasticsearch
Основа сайта
1С-Битрикс
Отдельный поисковый контур внутри сайта на Битриксе
Сайт продолжает работать на 1С-Битрикс: в нём хранятся разделы, товары, торговые предложения, цены, бренды, коллекции и характеристики. Elasticsearch используется как специализированный поисковый движок и не заменяет основную платформу интернет-магазина.
Для каждого товара формируется поисковый документ. В него попадают название, артикул, категория, бренд, коллекция и характеристики, необходимые для поиска. Запрос пользователя отправляется в Elasticsearch, после чего Битрикс получает найденные идентификаторы и формирует привычную каталожную выдачу.
Полнотекстовый поиск
Поиск одновременно работает по названиям, артикулам, брендам, коллекциям и другим индексируемым полям.
Поиск по характеристикам
В поисковый документ попадают цвет, рисунок, материал, стиль, помещение и технические параметры товара.
Управление релевантностью
Для разных полей можно задавать собственные приоритеты и поднимать наиболее подходящие товары выше.
Отдельный индекс
Поисковые запросы выполняются в Elasticsearch и не требуют тяжёлого перебора основного каталога.
5 шагов от запроса до товара
Ввод запроса
Покупатель вводит название товара, артикул, бренд, коллекцию или описание нужного интерьерного решения.
Подготовка запроса
Сайт нормализует поисковую фразу и формирует запрос к индексу Elasticsearch.
Поиск совпадений
Elasticsearch проверяет названия, артикулы, бренды, коллекции и индексируемые характеристики товаров.
Расчёт релевантности
Каждый найденный товар получает оценку соответствия с учётом веса и приоритета отдельных полей.
Формирование выдачи
Elasticsearch возвращает идентификаторы товаров, а 1С-Битрикс загружает актуальные данные и показывает карточки в нужном порядке.
Чего удалось достичь
Сохранили 1С-Битрикс
Не потребовалось переносить каталог, административную панель и бизнес-логику интернет-магазина
Вынесли поиск и умный фильтр в Elasticsearch
Поисковые запросы обрабатываются отдельным специализированным движком
Получили управляемую выдачу
Названиям, артикулам, брендам, коллекциям и характеристикам можно задавать разные приоритеты
Подготовили основу для развития
Архитектуру можно дополнять синонимами, исправлением опечаток, подсказками и аналитикой запросов
Как шла реализация
Анализ каталога
Изучили структуру разделов, товарные свойства, поисковые запросы и ограничения стандартного поиска 1С-Битрикс.
Проектирование индекса
Определили структуру поискового документа, состав индексируемых полей и правила преобразования данных каталога.
Интеграция Elasticsearch
Настроили передачу товаров из 1С-Битрикс в Elasticsearch, обновление индекса и обработку поисковых запросов.
Настройка выдачи
Настроили веса полей, порядок результатов и получение карточек товаров из Битрикса по идентификаторам Elasticsearch.
Тестирование и запуск
Проверили поиск на разных типах запросов, актуальность индекса и корректность выдачи в каталоге.
Поиск и умный фильтр по данным каталога
Elasticsearch позволяет искать товары сразу по нескольким группам данных, не ограничиваясь одним названием.
Названия и артикулы
Поиск обрабатывает пользовательские названия товаров и точные запросы по артикулам.
- Высокий приоритет точного артикула
- Поиск по полному и частичному названию
Бренды и коллекции
Покупатель может найти товары конкретного производителя или нужной коллекции через общую поисковую строку.
- Бренд включён в поисковый документ
- Коллекция участвует в расчёте релевантности
Внешний вид
Для интерьерных материалов учитываются цвет, рисунок, фактура и стилистические характеристики.
- Поиск по цветам и сочетаниям
- Поиск по рисунку и стилю
Назначение товара
В запросе можно учитывать помещение, материал, тип покрытия и другие свойства конкретной категории.
- Поддержка категорийных характеристик
- Единый поиск по разным типам товаров
Как изменился поиск и умный фильтр по каталогу
Поиск и умный фильтр был связан со штатной индексацией Битрикса и в основном ориентировался на совпадения в текстовых полях. Возможности управления релевантностью и сложными поисковыми запросами были ограничены.
Товары индексируются в отдельном поисковом движке. В выдаче можно учитывать названия, артикулы, бренды, коллекции и характеристики, назначая каждому полю собственный приоритет.
Архитектура поиска и умного фильтра
1С-Битрикс остаётся основной платформой и источником товарных данных. Elasticsearch хранит поисковую копию каталога и отвечает за обработку запросов. После поиска Битрикс получает идентификаторы товаров, загружает актуальные цены и характеристики и формирует стандартную выдачу.
1С-Битрикс
Основная платформа сайта, административная панель, компоненты и бизнес-логика интернет-магазина.
Каталог товаров
Разделы, товары, торговые предложения, бренды, коллекции, цены и характеристики.
Модуль индексации
Преобразует данные Битрикса в поисковые документы и синхронизирует их с индексом.
Elasticsearch
Хранит поисковый индекс, обрабатывает запросы и рассчитывает релевантность результатов.
Компонент выдачи
Получает найденные товары из 1С-Битрикс в порядке, рассчитанном Elasticsearch.
Если стандартного поиска 1С-Битрикс уже недостаточно для вашего каталога, мы спроектируем отдельный поисковый контур, настроим индексацию и релевантную выдачу под структуру ваших товаров.