Есть идея по этому модулю?
Опишите доработку или сценарий — обсудим вместе с другими клиентами.
Индекс каталога в OpenSearch
Менее 50 раз установок
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».
Технические данные
Число установок:
Менее 50 раз
Версия:
1.0.0
Адаптивность:
Да
Поддержка композита:
Да
Дата публикации:
24.09.2026
Совместимые редакции
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Старт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Стандарт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Малый бизнес
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Бизнес
- Программа для ЭВМ "1С-Битрикс24". Лицензия Интернет-магазин + CRM (12 мес.)
Описание
Модуль индексирует товары каталога в 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 — фасетный индекс и отбор товаров. Не поддерживается случайная сортировка и группировка по нескольким полям.
Подготовка окружения
# Системные требования
- PHP 8.1 или выше
- 1С-Битрикс: Управление сайтом (актуальные версии)
- Доступ к серверу OpenSearch по HTTP/HTTPS с вашего сайта.
# OpenSearch
Для установки OpenSearch на свой сервер воспользуйтесь инструкцией на официальном сайте.
Минимальные параметры сервера зависят от объёма каталога. Для каталогов до 100 000 товаров ориентировочно потребуется один узел с 2 ГБ оперативной памяти.
Шаг 1. Установка модуля
Установите модуль из Маркетплейса 1С-Битрикс стандартным способом:
**Настройки → Маркетплейс → Каталог решений** → найдите «Индекс каталога в OpenSearch» → **Установить**.
При установке модуль создаст административные страницы и служебные таблицы.
Шаг 2. Настройка подключения к OpenSearch
Откройте Настройки → Настройки модулей → Индекс каталога в OpenSearch.
# Вкладка «Подключение»
На вкладке «Подключение» введите реквизиты доступа к вашему OpenSearch серверу. Например: Адрес сервера — `https://localhost:9200`, Имя пользователя — `admin`, Пароль — <Пароль от вашего OpenSearch>, Проверять SSL-сертификат — Нет, Таймаут — 5 секунд.
После заполнения нажмите «Проверить соединение». При успешном подключении модуль покажет имя кластера и версию OpenSearch.
Нажмите «Сохранить».
# Вкладка «Индексирование»
Если используете OpenSearch-сервер для нескольких установок 1С-Битрикс, на вкладке Индексирование укажите уникальный префикс. Префикс будет добавлен к имени индекса в OpenSearch.
Для случаев переполнения памяти при индексации уменьшите Количество элементов в одном запросе для индексации. Для ускорения индексации наоборот увеличьте значение.
Шаг 3. Первичная индексация
Откройте Контент → OpenSearch индекс (или перейдите по ссылке «Индексация» из настроек модуля).
На странице отображается список каталогов с текущим статусом индекса. Нажмите «Переиндексировать» для нужного инфоблока, после загрузки страницы нажмите «Индексировать» и дождитесь сообщения о завершении индексации.
Повторите для каждого каталога, который хотите ускорить.
Шаг 4. Интеграция компонентов
Для вызова компонентов модуля в шаблоне сайта замените вызов bitrix:catalog.smart.filter и bitrix:catalog.section на experimentsite:facet.catalog.smart.filter и experimentsite:facet.catalog.section.
Для автоматического вызова новых компонентов без редактирования шаблона, в разделе Настройки → Настройки модулей → Индекс каталога в OpenSearch на вкладке «Интеграция» включите «Подмена умного фильтра» и «Подмена списка товаров» — будут созданы прокси-компоненты /local/components/bitrix/catalog.smart.filter/ и /local/components/bitrix/catalog.section/, и созданы симлинки на оригинальные шаблоны. Чтобы использовать шаблоны без прокси-компонентов, включите «Симлинки шаблонов умного фильтра» и «Симлинки шаблонов списка товаров».
> Важно: если индекс для конкретного каталога ещё не построен, модуль автоматически использует стандартные методы Битрикс. Можно включать подмену можно до завершения индексации — сайт продолжит работать.
Шаг 5. Проверка работы
После включения подмены компонентов откройте страницу каталога на сайте.
Признаки успешной работы:
- Фильтрация и отображение товаров работают как раньше — внешних отличий быть не должно
- Скорость отклика страницы каталога заметно выросла (особенно при большом количестве товаров и активных фильтрах)
Автоматическое обновление индекса
После первичной индексации модуль поддерживает индекс в актуальном состоянии автоматически:
# Оперативное обновление (очередь)
При любом изменении товара, свойства или цены модуль добавляет запись в очередь обновлений. Фоновый агент Битрикс обрабатывает очередь пакетами:
- Интервал проверки: каждые 5 секунд
- Размер пакета: 100 элементов
- Лимит времени на одну итерацию: 30 секунд
- При недоступности OpenSearch — автоматические повторные попытки с нарастающими интервалами (1 мин → 10 мин → 1 час)
Изменения в торговых предложениях (SKU) автоматически связываются с родительским товаром — обновляется запись товара, а не отдельного предложения.
# Ночная переиндексация
Для каждого проиндексированного каталога модуль ежедневно в 03:00 запускает фоновую полную переиндексацию. Это защита от рассинхронизации при пропущенных событиях или сбоях.
Переиндексация выполняется пошагово с ограничением по времени (30 секунд на шаг) и не нагружает сервер.
Управление полями индекса
По умолчанию модуль индексирует свойства, отмеченные для умного фильтра, и поля `ID`, `SORT` и `AVAILABLE`. Если нужно добавить дополнительные свойства:
# Через интерфейс Битрикс
Если используете механизм «Механизм единого управления свойствами», то:
1. Перейдите в раздел Магазин → Каталоги товаров → <Ваш каталог> → Свойства товаров или **Свойства торговых предложений**, выберите нужно свойство.
2. В разделе «Параметры свойства» установите флаг «Добавить в индекс OpenSearch».
Повторите для всех свойств, которые используете в пользовательских фильтрах. После запустите переиндексацию каталога.
# Через событие (для разработчиков)
Подпишитесь на событие `onIndexFieldScope`:
Обработчик возвращает массив идентификаторов полей, которые нужно добавить в индекс. Для свойств торговых предложений используйте формат OFFER_PROPERTY_<ID> или OFFER_PROPERTY_<CODE>
# Системные требования
- PHP 8.1 или выше
- 1С-Битрикс: Управление сайтом (актуальные версии)
- Доступ к серверу OpenSearch по HTTP/HTTPS с вашего сайта.
# OpenSearch
Для установки OpenSearch на свой сервер воспользуйтесь инструкцией на официальном сайте.
Минимальные параметры сервера зависят от объёма каталога. Для каталогов до 100 000 товаров ориентировочно потребуется один узел с 2 ГБ оперативной памяти.
Шаг 1. Установка модуля
Установите модуль из Маркетплейса 1С-Битрикс стандартным способом:
**Настройки → Маркетплейс → Каталог решений** → найдите «Индекс каталога в OpenSearch» → **Установить**.
При установке модуль создаст административные страницы и служебные таблицы.
Шаг 2. Настройка подключения к OpenSearch
Откройте Настройки → Настройки модулей → Индекс каталога в OpenSearch.
# Вкладка «Подключение»
На вкладке «Подключение» введите реквизиты доступа к вашему OpenSearch серверу. Например: Адрес сервера — `https://localhost:9200`, Имя пользователя — `admin`, Пароль — <Пароль от вашего OpenSearch>, Проверять SSL-сертификат — Нет, Таймаут — 5 секунд.
После заполнения нажмите «Проверить соединение». При успешном подключении модуль покажет имя кластера и версию OpenSearch.
Нажмите «Сохранить».
# Вкладка «Индексирование»
Если используете OpenSearch-сервер для нескольких установок 1С-Битрикс, на вкладке Индексирование укажите уникальный префикс. Префикс будет добавлен к имени индекса в OpenSearch.
Для случаев переполнения памяти при индексации уменьшите Количество элементов в одном запросе для индексации. Для ускорения индексации наоборот увеличьте значение.
Шаг 3. Первичная индексация
Откройте Контент → OpenSearch индекс (или перейдите по ссылке «Индексация» из настроек модуля).
На странице отображается список каталогов с текущим статусом индекса. Нажмите «Переиндексировать» для нужного инфоблока, после загрузки страницы нажмите «Индексировать» и дождитесь сообщения о завершении индексации.
Повторите для каждого каталога, который хотите ускорить.
Шаг 4. Интеграция компонентов
Для вызова компонентов модуля в шаблоне сайта замените вызов bitrix:catalog.smart.filter и bitrix:catalog.section на experimentsite:facet.catalog.smart.filter и experimentsite:facet.catalog.section.
Для автоматического вызова новых компонентов без редактирования шаблона, в разделе Настройки → Настройки модулей → Индекс каталога в OpenSearch на вкладке «Интеграция» включите «Подмена умного фильтра» и «Подмена списка товаров» — будут созданы прокси-компоненты /local/components/bitrix/catalog.smart.filter/ и /local/components/bitrix/catalog.section/, и созданы симлинки на оригинальные шаблоны. Чтобы использовать шаблоны без прокси-компонентов, включите «Симлинки шаблонов умного фильтра» и «Симлинки шаблонов списка товаров».
> Важно: если индекс для конкретного каталога ещё не построен, модуль автоматически использует стандартные методы Битрикс. Можно включать подмену можно до завершения индексации — сайт продолжит работать.
Шаг 5. Проверка работы
После включения подмены компонентов откройте страницу каталога на сайте.
Признаки успешной работы:
- Фильтрация и отображение товаров работают как раньше — внешних отличий быть не должно
- Скорость отклика страницы каталога заметно выросла (особенно при большом количестве товаров и активных фильтрах)
Автоматическое обновление индекса
После первичной индексации модуль поддерживает индекс в актуальном состоянии автоматически:
# Оперативное обновление (очередь)
При любом изменении товара, свойства или цены модуль добавляет запись в очередь обновлений. Фоновый агент Битрикс обрабатывает очередь пакетами:
- Интервал проверки: каждые 5 секунд
- Размер пакета: 100 элементов
- Лимит времени на одну итерацию: 30 секунд
- При недоступности OpenSearch — автоматические повторные попытки с нарастающими интервалами (1 мин → 10 мин → 1 час)
Изменения в торговых предложениях (SKU) автоматически связываются с родительским товаром — обновляется запись товара, а не отдельного предложения.
# Ночная переиндексация
Для каждого проиндексированного каталога модуль ежедневно в 03:00 запускает фоновую полную переиндексацию. Это защита от рассинхронизации при пропущенных событиях или сбоях.
Переиндексация выполняется пошагово с ограничением по времени (30 секунд на шаг) и не нагружает сервер.
Управление полями индекса
По умолчанию модуль индексирует свойства, отмеченные для умного фильтра, и поля `ID`, `SORT` и `AVAILABLE`. Если нужно добавить дополнительные свойства:
# Через интерфейс Битрикс
Если используете механизм «Механизм единого управления свойствами», то:
1. Перейдите в раздел Магазин → Каталоги товаров → <Ваш каталог> → Свойства товаров или **Свойства торговых предложений**, выберите нужно свойство.
2. В разделе «Параметры свойства» установите флаг «Добавить в индекс OpenSearch».
Повторите для всех свойств, которые используете в пользовательских фильтрах. После запустите переиндексацию каталога.
# Через событие (для разработчиков)
Подпишитесь на событие `onIndexFieldScope`:
use Bitrix\Main\EventManager;
use Bitrix\Main\EventResult;
EventManager::getInstance()->addEventHandler(
'experimentsite.facet',
'onIndexFieldScope',
function () {
return new EventResult(EventResult::SUCCESS, ['NAME', 'PROPERTY_42', 'PRICE_1']);
}
); |
Обработчик возвращает массив идентификаторов полей, которые нужно добавить в индекс. Для свойств торговых предложений используйте формат OFFER_PROPERTY_<ID> или OFFER_PROPERTY_<CODE>
Решение проблем
# Ошибка подключения к OpenSearch
- Проверьте, что сервер OpenSearch запущен и доступен с сервера Битрикс, нажав Проверить соединение в настройках модуля Настройки → Настройки модулей → Индекс каталога в OpenSearch.
- Проверьте логин и пароль
- Если используете самоподписанный сертификат — отключите проверку SSL в настройках модуля
# Сайт работает медленно после включения модуля
- Проверьте лог ошибок. Если поле отсутствует в индексе, добавьте требуемые, по инструкции «Управление полями индекса» выше.
- Убедитесь, что OpenSearch отвечает быстро (таймаут не более 5 секунд)
- Проверьте сетевую задержку между сервером Битрикс и OpenSearch
- При превышении таймаута модуль автоматически переключится на стандартные методы 1С-Битрикс
Для получения техподдержки пишите на почту: start@experimentsite.ru
# Ошибка подключения к OpenSearch
- Проверьте, что сервер OpenSearch запущен и доступен с сервера Битрикс, нажав Проверить соединение в настройках модуля Настройки → Настройки модулей → Индекс каталога в OpenSearch.
- Проверьте логин и пароль
- Если используете самоподписанный сертификат — отключите проверку SSL в настройках модуля
# Сайт работает медленно после включения модуля
- Проверьте лог ошибок. Если поле отсутствует в индексе, добавьте требуемые, по инструкции «Управление полями индекса» выше.
- Убедитесь, что OpenSearch отвечает быстро (таймаут не более 5 секунд)
- Проверьте сетевую задержку между сервером Битрикс и OpenSearch
- При превышении таймаута модуль автоматически переключится на стандартные методы 1С-Битрикс
Для получения техподдержки пишите на почту: start@experimentsite.ru
Установите этот модуль прямо сейчас!
Для этого укажите адрес сайта:
пример: https://www.site.ru
Подтвердите что сама лицензия у вас куплена
