Фасетные индексы
Страница Фасетные индексы инфоблоков (Контент > Инфоблоки > Фасетные индексы) служит для создания фасетных индексов для инфоблоков, являющимися торговыми каталогами.
Важно! Создание фасетных индексов доступно только для тех каталогов, в которых есть хотя бы одно отображаемое свойство в умном фильтре.
Контекстная панель
Контекстная панель отображается только при наличии торговых каталогов, для которых необходимо создать фасетные индексы.
| Кнопка | Описание |
|---|---|
| Создать все | Переход к форме создания фасетных индексов. Кнопка не отображается, если для всех торговых каталогов фасетные индексы созданы и их пересоздание не требуется. |
| Настроить | Позволяет перейти к диалогу настройки внешнего вида отчетной формы. |
| Excel | Экспортирует данные из отображаемой таблицы в MS Excel. |
Список инфоблоков
- Создать — переход к форме создания фасетных индексов.
Смотрите также
Новинки документации в соцсетях:
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Юрий Гранд 30.03.2020 14:40:00
Для переиндексации элемента можно использовать метод:
\Bitrix\Iblock\PropertyIndex\Manager::updateElementIndex($IBLOCK_ID,$PRODUCT_ID);
Владислав Морсин 17.04.2015 21:38:47
Для удаления фасетного индекса инфоблока надо выполнить:
CModule::IncludeModule('iblock'); Bitrix\Iblock\PropertyIndex\Manager::DeleteIndex($iblockId); Bitrix\Iblock\PropertyIndex\Manager::markAsInvalid($iblockId);
***********
От разработчика:
| Цитата |
|---|
| Вместо DeleteIndex (в этом случае) лучше использовать dropIfExists. |
Как пересоздать фасетный индекс, если много товаров
В данной статье пойдет речь как создавать фасетный индекс, если товаров очень много. Ну прям настолько много, что переиндексация через админку занимает много времени. Сидеть и ждать с открытым браузером неудобно, а если у вас еще и обмен с 1С, в ходе которого периодически могут прилетать новые свойства – нужно также периодически запускать переиндексацию и ждать, ждать.
Лучший вариант для решения такой задачи – это делегировать переиндексацию фасетов самому серверу.
Для реализации данного способа необходимы навыки разработчика
Я не буду объяснять как искать кусок кода в модуле Битрикса, который отвечает за переиндексацию. А просто приведу уже оттесанный временем исходный код скрипта, который нужно будет повесить на крон на стороне сервера.
Вообще я советую вам учиться находить нужные фрагменты кода в модулях Битриксе. Все же, навык разбираться в коде других разработчиков благотворно влияет на наш растущий профессионализм.
Итак, листинг кода:
Инструкция на случай «не знаю что дальше делать»:
- Создаем файл с данным кодом где-нибудь в папке local или в модуле с классами проекта или по старинке создать в /bitrix/php_interface/cron/.
- Заменяем ID инфоблока с товарами.
- Вешаем скрипт на крон через консольную команду 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. Зачем нужен аудит сайта?
Как создать фасетный индекс битрикс
Apriori.Ecom: Интернет-магазин
- Описание курса
- Возможности
- Установка и обновление
- Быстрый старт
- Перед установкой
- Основные шаги
- Настройка на хостинге
- Установка при многосайтовости
- Ошибки при установке
- Ошибка: Warning open_basedir
- Ошибка: Обнаружены ошибки в работе сайта
- Предупреждение: Необходимо создать фасетный индекс
- Активировал купон, но решение не работает
- При покупке мне доступна установка только на один свой сайт или могу установить на несколько?
- Можно ли использовать решение на нескольких сайтах в системе?
- Конфигуратор
- Выбор готового дизайна
- Дизайн-система
- Выбор цвета для сайта
- Как быстро создать уникальный дизайн
- Настройка подпунктов меню
- Добавление иконок в меню
- Иконки для первого уровня верхнего меню
- Иконки для разделов каталога в меню
- Яндекс.Карта
- Как изменить название блока связанных элементов
- Настройка почтовых шаблонов
- Персональные сообщения
- Recaptha – защита форм от спама
- Настройка sitemap.xml в 1С-Битрикс
- Экспресс-отладка
- Ускорение сайта
- Дополнительные функции
- Версия для слабовидящих
- Уведомление cookies
- Основное по внедрению
- Примечание к установке
- Компоненты решения
- Основные компоненты
- Настройка компонентов
- Кастомизация шаблона компонента
- Подключение своего шрифта
- Особенности настройки слайдеров
- Вызов по API / Rest Api
Предупреждение: Необходимо создать фасетный индекс
Предупреждение чаще всего появляется после добавления новых инфоблоков. Перейдите на страницу настройки фасетных индексов по адресу вашдомен/bitrix/admin/iblock_reindex.php или кликните на ссылку «создать фасетный индекс» в тексте ошибки. Нажмите «Начать» чтобы создать фасетные индексы.
Как создать фасетный индекс битрикс
Нашли ошибку? Выделите мышкой и нажмите Ctrl+Enter
Фасетные индексы
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
Одному каталогу соответствует один фасетный индекс. Он нужен для того, чтобы поиск по каталогу осуществлялся максимально быстро. После того, как вы внесли изменения в настройки умного фильтра, проверьте состояние фасетных индексов (особенно если заметили, что внесенные вами изменения не отобразились).
В административном разделе перейдите в Рабочий стол → Контент → Инфоблоки Фасетные индексы
Если состояние индекса «Работает» и горит зеленый индикатор, то все в порядке. Если же индикатор красный и появилась кнопка «Создать», то нажмите «гамбургер» и выберите соответствующий пункт.
В списке «Информационный блок» выберите «Каталог товаров». В поле «Шаг» можете оставить значение по умолчанию.
Вы можете при необходимости отключить фасетный индекс, но делать это не рекомендуется.
