Фасетный индекс

Решение:
  1. Чтобы отключить (удалить) фасетный индекс, выполните этот код в консоли PHP
    CModule::IncludeModule('iblock'); 
    Bitrix\Iblock\PropertyIndex\Manager::DeleteIndex($iblockId); 
    Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid($iblockId);
  2. Чтобы вызвать переиндексацию фасеты
    • Магазин → Каталог товаров → [Ваш каталог] → Настройка каталога → Свойства элементов
    • Добавляем (можно убрать) любое свойство в умный фильтр и индекс сбрасывается
  3. Пересоздать фасетный индекс через API
    • Для элемента
      \Bitrix\Iblock\PropertyIndex\Manager::updateElementIndex(ID_инфоблока, ID_элемента);
    • Для инфоблока
      $index = \Bitrix\Iblock\PropertyIndex\Manager::createIndexer(ID_инфоблока);
      $index->startIndex();
      $index->continueIndex(0); // создание без ограничения по времени
      $index->endIndex();

Изменено: 19 10 2017
Просмотров: 636