Настройка фасетного поиска 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка фасетного поиска 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1230
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    843
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    580
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    749
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    980

Настройка фасетного поиска 1С-Битрикс

Фасетный поиск (умный фильтр) в Битрикс — это механизм фильтрации каталога с мгновенным подсчётом количества товаров по каждому значению фильтра. При некорректной настройке умный фильтр работает медленно, потребляет много памяти или показывает нулевые счётчики.

Что такое фасетный индекс

Стандартный компонент bitrix:catalog.smart.filter при первом запросе строит фасетный индекс — предварительно рассчитанные данные о количестве товаров для каждого значения каждого свойства. Индекс хранится в таблицах b_iblock_facet_* и b_iblock_facet_data_*.

Без индекса каждый запрос фильтра — это тяжёлые JOIN-запросы к b_iblock_element_property. С индексом — лёгкий SELECT по заранее рассчитанным данным.

Включение умного фильтра

Компонент bitrix:catalog.smart.filter подключается на страницу раздела каталога. Ключевые параметры:

$APPLICATION->IncludeComponent('bitrix:catalog.smart.filter', '', [
    'IBLOCK_ID'           => 5,
    'IBLOCK_TYPE'         => 'catalog',
    'PRICE_CODE'          => ['BASE'],
    'PROPERTY_CODE'       => ['COLOR', 'SIZE', 'BRAND'], // свойства для фильтра
    'FILTER_VIEW_MODE'    => 'POPUP', // VISIBLE или POPUP
    'AJAX_MODE'           => 'Y',
    'SEF_MODE'            => 'Y',
    'SECTION_ID'          => $arResult['ID'],
    'SECTION_CODE'        => $arResult['CODE'],
]);

Построение и сброс фасетного индекса

После изменения товаров (новые свойства, изменение значений, массовый импорт) индекс нужно перестроить:

Магазин → Каталог → Дополнительно → Пересчёт умного фильтра

Или программно:

\CIBlockCatalogTools::ReIndexFacets($iblockId);

При больших каталогах (100 000+ товаров) пересчёт занимает несколько минут. Рекомендуется запускать через агент в ночное время при массовых обновлениях.

Настройка свойств для фасетного индекса

Не все свойства нужны в фильтре. Для включения свойства в умный фильтр:

Контент → Инфоблоки → [инфоблок] → Свойства → [свойство] → Участвует в умном фильтре

Правила выбора свойств для фильтра:

  • Включать: цвет, размер, бренд, материал, категория, диапазон цен
  • Не включать: уникальные идентификаторы, описания, артикулы
  • Свойства типа «Список» и «Привязка к элементам» индексируются эффективнее, чем «Строка»

SEF-режим и URL фильтра

В SEF-режиме параметры фильтра кодируются в URL вида /catalog/obuv/color-chernyj/size-42/. Настройка в параметрах компонента SEF_MODE = Y и шаблонах URL в настройках компонента каталога.

Для корректной работы необходимо согласованно настроить SEF-шаблоны в компоненте каталога и умном фильтре.

Производительность

При медленной работе фильтра проверить:

  • Наличие индекса (EXPLAIN запросов к b_iblock_facet_*)
  • Размер таблиц фасетного индекса
  • Включён ли USE_CACHE = Y в параметрах компонента
  • Актуален ли индекс (не было ли массовых обновлений без пересчёта)

Сроки выполнения

Настройка умного фильтра с нужными свойствами и SEF-режимом — 4–8 часов. Оптимизация производительности для больших каталогов — 1–2 рабочих дня.