Что умеет решение
Модуль ускоряет работу стандартных компонентов каталога 1С-Битрикс за счёт индексации товаров в OpenSearch. Для компонента «Умный фильтр» формируется фасетный индекс, а фильтрация и сортировка списка товаров выполняются через поисковый движок.
Интеграция происходит прозрачно: шаблоны компонентов не требуют изменений. В случае сбоя работы OpenSearch система автоматически переключается на стандартные методы 1С-Битрикс, ошибка фиксируется в логе, а пользователь видит страницу в обычном режиме.
Производительность
На примере проекта с каталогом из 130 000 товаров, 70 000 товаров в разделе и 23 свойствами в фильтре время выполнения повторных запросов без кэша сократилось следующим образом:
Умный фильтр: с 1,9 сек до 0,12 сек (ускорение в 15 раз).
Список товаров: с 1,17 сек до 0,19 сек (ускорение в 6 раз).
Рост скорости обусловлен переносом операций фильтрации и агрегации из SQL-запросов в поисковый индекс OpenSearch. Эффект становится более заметным при увеличении количества товаров и свойств в каталоге.
Ключевые возможности
Фасетный индекс в OpenSearch
Компонент «Умный фильтр» использует OpenSearch для выбора вариантов свойств и подсчёта количества товаров, обеспечивая функционал, аналогичный стандартному решению 1С-Битрикс.
Фильтрация и сортировка через OpenSearch
Все операции фильтрации и сортировки списка товаров выполняются через индекс OpenSearch.
Модуль ускоряет работу каталога, используя OpenSearch для получения идентификаторов элементов и их общего количества. Это позволяет базе данных загружать информацию о товарах по первичному ключу, избегая полного сканирования таблиц. Поддерживаются пагинация, сортировка по нескольким полям, случайная выборка, а также фильтрация по параметрам товаров, свойствам и ценам.
Автоматическое обновление индекса
Модуль отслеживает события 1С-Битрикс: изменения элементов инфоблока, значений свойств, цен и параметров товаров. Записи накапливаются в очереди и пакетно передаются в OpenSearch фоновым агентом. Для гарантии целостности данных ежедневно в 03:00 выполняется полная переиндексация каждого каталога, что компенсирует возможные сбои или пропущенные события.
Простая интеграция
Компоненты заменяются прозрачно и активируются одной кнопкой в административной панели. Стандартные компоненты Битрикс подменяются версиями с поддержкой OpenSearch. Шаблоны сайта подключаются через символические ссылки, что исключает дублирование файлов.
Автоматический резервный режим. Если индекс недоступен или ещё не создан для конкретного инфоблока, модуль прозрачно переключается на стандартные запросы 1С-Битрикс, обеспечивая непрерывную работу сайта.
Гибкое управление. Каждая замена компонента реализована как отдельная функция, которую можно включать или отключать независимо.
Управление полями индекса
По умолчанию в индекс включаются поля сортировки (идентификатор, порядок сортировки, доступность) и свойства, используемые в смарт-фильтре. Если требуемое поле отсутствует в индексе, в лог записывается уведомление, и модуль автоматически переходит к стандартным методам 1С-Битрикс.
Для блоков «Хит продаж», «Спецпредложения» на главной странице и расширенного фильтра в каталоге может потребоваться добавление дополнительных полей:
— При использовании «Механизма единого управления свойствами» установите флаг «Добавить в индекс OpenSearch» в форме редактирования свойства.
— Для разработчиков доступно пользовательское событие onIndexFieldScope (детали в разделе установки).
Отбор товаров
Свойства торговых предложений хранятся в индексе как параметры товара: значения всех предложений объединяются в массив на уровне родительского товара. Из-за этого фильтр с несколькими условиями по свойствам вернёт товары, у которых эти условия выполняются разными предложениями. Например, у товара «Футболка» три предложения: (Красный, S), (Красный, M), (Синий, L). При запросе «Цвет = Красный И Размер = L» товар попадёт в выдачу, так как среди его предложений есть красные и есть размер L.
Не поддерживается фильтрация по дате активности товара и управление правами доступа в инфоблоке.
Meilisearch
Доступна экспериментальная поддержка Meilisearch для фасетного индексирования и отбора товаров. Не реализованы случайная сортировка и группировка по нескольким полям.
General iT может подключить «Индекс каталога в OpenSearch», настроить его и проверить корректность интеграции с текущим сайтом.