Faceted Search Configuration in 1C-Bitrix
Faceted search (smart filter) in Bitrix is a filtering mechanism with instant count of products for each filter value. With incorrect configuration, smart filter works slowly, consumes excessive memory, or shows zero counters.
What is Faceted Index
Standard component bitrix:catalog.smart.filter on first request builds faceted index — precalculated data about product count for each value of each property. Index is stored in tables b_iblock_facet_* and b_iblock_facet_data_*.
Without index, each filter request is heavy JOIN queries to b_iblock_element_property. With index — light SELECT from precalculated data.
Enabling Smart Filter
Component bitrix:catalog.smart.filter is connected to catalog section page. Key parameters:
$APPLICATION->IncludeComponent('bitrix:catalog.smart.filter', '', [
'IBLOCK_ID' => 5,
'IBLOCK_TYPE' => 'catalog',
'PRICE_CODE' => ['BASE'],
'PROPERTY_CODE' => ['COLOR', 'SIZE', 'BRAND'], // properties for filter
'FILTER_VIEW_MODE' => 'POPUP', // VISIBLE or POPUP
'AJAX_MODE' => 'Y',
'SEF_MODE' => 'Y',
'SECTION_ID' => $arResult['ID'],
'SECTION_CODE' => $arResult['CODE'],
]);
Building and Resetting Faceted Index
After changing products (new properties, value changes, bulk import), index needs to be rebuilt:
Shop → Catalog → Additional → Recalculate Smart Filter
Or programmatically:
\CIBlockCatalogTools::ReIndexFacets($iblockId);
On large catalogs (100,000+ products) recalculation takes several minutes. Recommended to run via agent at night during bulk updates.
Configuring Properties for Faceted Index
Not all properties need to be in filter. To include property in smart filter:
Content → Infoblocks → [infoblock] → Properties → [property] → Participate in Smart Filter
Rules for choosing filter properties:
- Include: color, size, brand, material, category, price range
- Do not include: unique identifiers, descriptions, article numbers
- Properties type "List" and "Infoblock Element Binding" are indexed more efficiently than "String"
SEF Mode and Filter URL
In SEF mode filter parameters are encoded in URLs like /catalog/shoes/color-black/size-42/. Configuration in component parameters SEF_MODE = Y and URL templates in component settings.
For correct operation you must consistently configure SEF templates in catalog component and smart filter.
Performance
If filter works slowly check:
- Index presence (
EXPLAINqueries tob_iblock_facet_*) - Size of faceted index tables
- Whether
USE_CACHE = Yenabled in component parameters - If index is current (no bulk updates without recalculation)
Timeframe
Smart filter setup with necessary properties and SEF mode — 4–8 hours. Performance optimization for large catalogs — 1–2 business days.

