Налаштування фасетного пошуку 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування фасетного пошуку 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування фасетного пошуку у 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 робочих дні.