Перейти к содержимому

Фасетные индексы инфоблоков что это

  • автор:

Серия Market 2.0.

Фасетный индекс необходим для ускорения поиска товаров и работы всего каталога.
Перед его созданием необходимо проверить чтобы в умном фильтре отображалось не менее одного свойства каталога товаров.

Для создания фасетного индекса перейдите в административную панель и пройдите по следующему пути:
Контент-Инфоблок-Фасетные индексы-Создать все

  • Информационный блок (укажите конкретный каталог товаров)
  • Шаг ( задайте интервал одного шага создания индекса в секундах, можно использовать значение по умолчанию)

Создание индексов занимает продолжительное время, поэтому рекомендуется проводить индексацию в период минимальной нагрузки на сервер.
Созданные фасетные индексы хранятся в базе данных.

1. Настройка фасетного индекса

2. Заполнение полей

  • Информационный блок (укажите конкретный каталог товаров)
  • Шаг ( задайте интервал одного шага создания индекса в секундах, можно использовать значение по умолчанию)

Создание индексов занимает продолжительное время, поэтому рекомендуется проводить индексацию в период минимальной нагрузки на сервер.
Созданные фасетные индексы хранятся в базе данных.

2. Заполнение полей

Эта инструкция оказалась полезна?

Как пересоздать фасетный индекс, если много товаров

В данной статье пойдет речь как создавать фасетный индекс, если товаров очень много. Ну прям настолько много, что переиндексация через админку занимает много времени. Сидеть и ждать с открытым браузером неудобно, а если у вас еще и обмен с 1С, в ходе которого периодически могут прилетать новые свойства – нужно также периодически запускать переиндексацию и ждать, ждать.

Лучший вариант для решения такой задачи – это делегировать переиндексацию фасетов самому серверу.

Для реализации данного способа необходимы навыки разработчика

Я не буду объяснять как искать кусок кода в модуле Битрикса, который отвечает за переиндексацию. А просто приведу уже оттесанный временем исходный код скрипта, который нужно будет повесить на крон на стороне сервера.

Вообще я советую вам учиться находить нужные фрагменты кода в модулях Битриксе. Все же, навык разбираться в коде других разработчиков благотворно влияет на наш растущий профессионализм.

Итак, листинг кода:

Инструкция на случай «не знаю что дальше делать»:

  1. Создаем файл с данным кодом где-нибудь в папке local или в модуле с классами проекта или по старинке создать в /bitrix/php_interface/cron/.
  2. Заменяем ID инфоблока с товарами.
  3. Вешаем скрипт на крон через консольную команду crontab -e или, если у вас шаред хостинг, через панель управления.

0 0 */7 * * /usr/bin/php -f /home/bitrix/ext_www/test.web-masterok.ga/bitrix/php_interface/cron/reindex.php

Замените путь к файлу на свой. В моем случае скрипт отрабатывает каждую неделю ровно в полночь. Если нужно по-другому – меняем.

Кстати, советую сервис crontab.guru, с помощью которого можно быстро и правильно настроить время отработки скрипта по расписанию.

Недостатки скрипта

В приведенном мною скрипте есть недочет, он принудительно пересоздает фасеты, что не рационально. Но есть решение…

В дальнейшем в другой статье я добавлю листинг класса, который умеет проверять, есть ли потребность в переиндексации фасетного индекса.

Также, не рекомендую устанавливать выполнение фасетов на то время, когда у вас по расписанию выполняется обработка другого скрипта, например, с созданием бекапа на кроне.

Итоги

Такой вот скрипт поможет вам выполнять переиндексацию фасетов для вашего каталога по расписанию. Данный способ особенно актуален, если на сайте десятки-сотни тысячи товаров и периодически добавляются новые свойства.

Новые записи

  • Как авторизоваться в админке без пароля?
  • Аудит сайта на Битрикс. Часть 2. Проверка системы
  • Как снять бекап базы в Битрикс?
  • Подробная статья про функции отладки кода в Битрикс
  • Аудит сайта на Битрикс. Часть 1. Зачем нужен аудит сайта?

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

Страница Фасетные индексы инфоблоков (Контент > Инфоблоки > Фасетные индексы) служит для создания фасетных индексов для инфоблоков, являющимися торговыми каталогами.

Важно! Создание фасетных индексов доступно только для тех каталогов, в которых есть хотя бы одно отображаемое свойство в умном фильтре.

Контекстная панель

Контекстная панель отображается только при наличии торговых каталогов, для которых необходимо создать фасетные индексы.

Кнопка Описание
Создать все Переход к форме создания фасетных индексов. Кнопка не отображается, если для всех торговых каталогов фасетные индексы созданы и их пересоздание не требуется.
Настроить Позволяет перейти к диалогу настройки внешнего вида отчетной формы.
Excel Экспортирует данные из отображаемой таблицы в MS Excel.

Список инфоблоков

  • Создать — переход к форме создания фасетных индексов.

Почему поиск по каталогу не находит товары?

1. Часто такая проблема связана с отсутствием фасетного индекса для каталога.
Чтобы его создать, нужно перейти в Контент > Инфоблоки > Фасетные индексы, выбрать нужный каталог и следовать по шагам программы.

В поле «информационный блок» будет находиться каталог, для которого вы создаёте индекс.

2. Другая причина связана, как раз наоборот с тем что фасетный индекс создан. Однако если одновременно используется фасетный индекс и фильтр в поиске, то результат может быть пустым пока не применится хотя бы один из фильтров. Эта проблема исправлена в актуальной версии решения, однако если вы не обновляли шаблон то можно исправить следующим образом — перейдите в папку bitrix/templates/universe_s1/components/bitrix/catalog/catalog.1/bitrix/catalog.search/.default/ откройте файл template.php. В нем добавьте строчку

$arElements[‘PARAMETERS’][‘SHOW_ALL_WO_SECTION’] = «N»;

в месте показанном на скриншоте ниже

Обратите внимание! Хоть это и простое действие, но манипуляции с кодом требуют определенных технических знаний. Если вы не являетесь техническим специалистом, лучше не выполняйте эту рекомендацию, а обратитесь в нашу техническую поддержку, наш специалист вам поможет.

3. Проверьте в параметрах компонента каталога привязку инфоблока. Бывает так, что сам инфоблок выбран правильно, а тип инфоблока нет

Номер инфоблока должен быть выбран в верхнем поле. В таком случае измените тип инфоблока на нужный

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-na-domu-voronezh.ru/