Как оно выглядит
одна таблица имеет формат имени b_iblock_$iblock_id_index_val и является справочником текстовых значений
поля
id,
value.
вторая таблица имеет формат имени b_iblock_$iblock_id_index - содержит поля
ELEMENT_ID - собственно ид элемента ифоблока
SECTION_ID - все секции родители для element_id (да характеристики повторяются столько раз сколько секций родиелей есть у товара)
FACET_ID - рассчитывается по правилу "(вписывается цена ==Да)? (ид_типа_цены*2+1) : (ид_свойства*2)"
VALUE - если тип свойства не число то ид из справочника
VALUE_NUM - значение числовых свойств включая перечисляемые и ссылки на ид элемента
INCLUDE_SUBSECTIONS
Оно круто ускоряет поиск по характеристикам/вывод виджета catalog.section.
Но вот беда, алгоритм генерации фасетного индекса творит лютую дичь в результате которой часть товара просто исчезает из результатов поиска.
ниже будут записываться способы поиска ошибок фасетного индекса.
$iblock_id - ид инфоблока
$section_id - ид товарного направления
$property_id - ид свойства по которому идет поиск в товарном направлении.
1. Найти товары которых нет в фасетном индексе вообще.
2. Найти товары у которых есть свойство по которому выполняется поиск в товарном направлении и нет в фасетном индексе
3. Найти товары у которых нет свойства по которому выполняется поиск в товарном направлении и есть в фасетном индексе