+7 499 938 8452 пн.-пт. 10:00 – 17:00
Есть идея по этому модулю?

Опишите доработку или сценарий — обсудим вместе с другими клиентами.

Все идеи для обсуждения

Отправка доступна после входа или регистрации. Текст формы сохранится.

Индекс каталога в OpenSearch

Менее 50 раз установок
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».

Скриншоты

Технические данные

Число установок:
Менее 50 раз
Версия:
1.0.0
Адаптивность:
Да
Поддержка композита:
Да
Дата публикации:
24.09.2026

Совместимые редакции

Описание

Модуль индексирует товары каталога в OpenSearch для ускорения стандартных компонентов:
  1. Для смарт-фильтра — фасетный индекс в OpenSearch.
  2. Для списка товаров — фильтр и сортировка товаров выполняется через 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 идентификаторы элементов на странице и общее количество, позволяя базе данных использовать первичный ключ для загрузки информации о товарах, не выполняя полное сканирование таблицы. Поддержаны пагинация, сортировка по нескольким полям, случайная сортировка, фильтр по полям товара, свойствам, товару и ценам.

Автоматическое обновление индекса

Модуль отслеживает события 1С-Битрикс: изменение элементов инфоблока, значений свойств, цен и параметров товара. Записи накапливаются в очереди и пакетно отправляются в OpenSearch фоновым агентом. Помимо оперативного обновления, модуль ежедневно в 03:00 запускает полную переиндексацию каждого каталога. Это гарантирует целостность индекса даже при сбоях или пропущенных событиях.

Простая интеграция
  • Прозрачная подмена компонентов. Включается в один клик через админку. Стандартные компоненты Битрикс заменяются на версии с OpenSearch. Шаблоны сайта подключаются через символические ссылки — ничего не копируется и не дублируется.
  • Автоматический fallback. Если индекс недоступен или ещё не построен для конкретного инфоблока — модуль прозрачно переключается на стандартные запросы 1С-Битрикс. Сайт продолжает работать как раньше.
  • Легкое отключение. Каждая подмена компонента — отдельная фича, которую можно включить или выключить независимо.
Особенности

Управление полями индекса

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

Для блоков «Хит продаж», «Спецпредложения» на главной странице и дополнительного фильтра в каталоге, может потребоваться указать дополнительные поля для индексации:
  1. Если используете «Механизм единого управления свойствами», в форме редактировании свойства отметьте флаг «Добавить в индекс OpenSearch».
  2. С помощью пользовательского события 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`:

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

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru

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

Индекс каталога в OpenSearch
Индекс каталога в OpenSearch
10 000 руб

Каталог для ИИ