ПроКвартиРу: поиск и умный фильтр по каталогу на Elasticsearch

Замена стандартного поиска 1С-Битрикс на Elasticsearch: отдельный поисковый индекс, работа с характеристиками товаров и управляемая релевантность выдачи.

1С-БитриксElasticsearchE-commerceПоискУмный фильтр
Масштаб

Каталог в цифрах

0
Основных товарных направлений
0+
Товаров в каталоге
0+
Вариантов бежевых обоев
0+
Вариантов однотонных обоев
О проекте

Поиск и фильтрация по каталогу для ПроКвартиРу

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

По мере роста каталога возможностей стандартного поиска 1С-Битрикс стало недостаточно. Результаты сильно зависели от точного совпадения запроса с названием товара, а управлять релевантностью и учитывать большое количество характеристик было сложно.

Мы сохранили сайт, каталог и административную панель на 1С-Битрикс, но заменили штатный поисковый механизм и умный фильтр на Elasticsearch. Товары и их характеристики индексируются в отдельном поисковом контуре, а результаты возвращаются в привычный интерфейс каталога.

Подробности реализации, архитектура и особенности интеграции разобраны в блоках ниже.

Кейс

Замена поиска и умного фильтра 1С-Битрикс на Elasticsearch

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

П

Поисковый движок

Elasticsearch

О

Основа сайта

1С-Битрикс

О
Решение

Отдельный поисковый контур внутри сайта на Битриксе

Сайт продолжает работать на 1С-Битрикс: в нём хранятся разделы, товары, торговые предложения, цены, бренды, коллекции и характеристики. Elasticsearch используется как специализированный поисковый движок и не заменяет основную платформу интернет-магазина.
Для каждого товара формируется поисковый документ. В него попадают название, артикул, категория, бренд, коллекция и характеристики, необходимые для поиска. Запрос пользователя отправляется в Elasticsearch, после чего Битрикс получает найденные идентификаторы и формирует привычную каталожную выдачу.

П

Полнотекстовый поиск

Поиск одновременно работает по названиям, артикулам, брендам, коллекциям и другим индексируемым полям.

П

Поиск по характеристикам

В поисковый документ попадают цвет, рисунок, материал, стиль, помещение и технические параметры товара.

У

Управление релевантностью

Для разных полей можно задавать собственные приоритеты и поднимать наиболее подходящие товары выше.

О

Отдельный индекс

Поисковые запросы выполняются в Elasticsearch и не требуют тяжёлого перебора основного каталога.

Как работает

5 шагов от запроса до товара

01

Ввод запроса

Покупатель вводит название товара, артикул, бренд, коллекцию или описание нужного интерьерного решения.

02

Подготовка запроса

Сайт нормализует поисковую фразу и формирует запрос к индексу Elasticsearch.

03

Поиск совпадений

Elasticsearch проверяет названия, артикулы, бренды, коллекции и индексируемые характеристики товаров.

04

Расчёт релевантности

Каждый найденный товар получает оценку соответствия с учётом веса и приоритета отдельных полей.

05

Формирование выдачи

Elasticsearch возвращает идентификаторы товаров, а 1С-Битрикс загружает актуальные данные и показывает карточки в нужном порядке.

Итоги

Чего удалось достичь

01

Сохранили 1С-Битрикс

Не потребовалось переносить каталог, административную панель и бизнес-логику интернет-магазина

02

Вынесли поиск и умный фильтр в Elasticsearch

Поисковые запросы обрабатываются отдельным специализированным движком

03

Получили управляемую выдачу

Названиям, артикулам, брендам, коллекциям и характеристикам можно задавать разные приоритеты

04

Подготовили основу для развития

Архитектуру можно дополнять синонимами, исправлением опечаток, подсказками и аналитикой запросов

Этапы

Как шла реализация

1
Этап 1

Анализ каталога

Изучили структуру разделов, товарные свойства, поисковые запросы и ограничения стандартного поиска 1С-Битрикс.

2
Этап 2

Проектирование индекса

Определили структуру поискового документа, состав индексируемых полей и правила преобразования данных каталога.

3
Этап 3

Интеграция Elasticsearch

Настроили передачу товаров из 1С-Битрикс в Elasticsearch, обновление индекса и обработку поисковых запросов.

4
Этап 4

Настройка выдачи

Настроили веса полей, порядок результатов и получение карточек товаров из Битрикса по идентификаторам Elasticsearch.

5
Этап 5

Тестирование и запуск

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

Возможности

Поиск и умный фильтр по данным каталога

Elasticsearch позволяет искать товары сразу по нескольким группам данных, не ограничиваясь одним названием.

Названия и артикулы

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

  • Высокий приоритет точного артикула
  • Поиск по полному и частичному названию

Бренды и коллекции

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

  • Бренд включён в поисковый документ
  • Коллекция участвует в расчёте релевантности

Внешний вид

Для интерьерных материалов учитываются цвет, рисунок, фактура и стилистические характеристики.

  • Поиск по цветам и сочетаниям
  • Поиск по рисунку и стилю

Назначение товара

В запросе можно учитывать помещение, материал, тип покрытия и другие свойства конкретной категории.

  • Поддержка категорийных характеристик
  • Единый поиск по разным типам товаров
До и после

Как изменился поиск и умный фильтр по каталогу

Стандартный поиск 1С-Битрикс

Поиск и умный фильтр был связан со штатной индексацией Битрикса и в основном ориентировался на совпадения в текстовых полях. Возможности управления релевантностью и сложными поисковыми запросами были ограничены.

1С-Битрикс
Поисковый движок
Ограниченная
Настройка релевантности
Базовая
Работа с характеристиками
Внутри сайта
Масштабирование
После внедрения Elasticsearch

Товары индексируются в отдельном поисковом движке. В выдаче можно учитывать названия, артикулы, бренды, коллекции и характеристики, назначая каждому полю собственный приоритет.

Elasticsearch
Поисковый движок
Гибкая
Настройка релевантности
Через индекс
Работа с характеристиками
Отдельный контур
Масштабирование
Под капотом

Архитектура поиска и умного фильтра

1С-Битрикс остаётся основной платформой и источником товарных данных. Elasticsearch хранит поисковую копию каталога и отвечает за обработку запросов. После поиска Битрикс получает идентификаторы товаров, загружает актуальные цены и характеристики и формирует стандартную выдачу.

1С-Битрикс

Основная платформа сайта, административная панель, компоненты и бизнес-логика интернет-магазина.

Каталог товаров

Разделы, товары, торговые предложения, бренды, коллекции, цены и характеристики.

Модуль индексации

Преобразует данные Битрикса в поисковые документы и синхронизирует их с индексом.

Elasticsearch

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

Компонент выдачи

Получает найденные товары из 1С-Битрикс в порядке, рассчитанном Elasticsearch.

Если стандартного поиска 1С-Битрикс уже недостаточно для вашего каталога, мы спроектируем отдельный поисковый контур, настроим индексацию и релевантную выдачу под структуру ваших товаров.