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