Документация

Установка модуля нечеткого поиска для 1С-Битрикс




После установки модуля необходимо согласиться с отправкой и обработкой данных



Далее надо произвести первичную настройку модуля.

1. Выбрать вкладку с нужным сайтом

2. Настроить индексацию
  • Поставить галочку "Включить для этого сайта отправку данных в поисковый индекс";
  • Выбрать сортировку по умолчанию, которую должен возвращать поисковый сервис;
  • Выбрать, индексировать ли свойства, отмеченные как "Значения свойства участвуют в поиске" или как "Показывать в умном фильтре", или и те и другие;
  • Выбрать, индексировать ли свойства "Да"/"Нет", в том числе от модуля asd.iblock. Например, если свойство "Для дачи" = "Да", то в поиск попадет фраза "Для дачи" и по ней можно будет найти этот товар;

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

3. Убедиться, что для инфоблоков указаны все свойства, которые необходимо индексировать, а так же нет лишних.
Если видите лишние свойства или каких-то свойств не хватает, нажмите "настройки" возле названия инфоблока и перенастройте индексацию свойств.
Для свойств которые должны попадать в поисковый индекс должна стоять галочка "Значения свойства участвуют в поиске", либо "Показывать в умном фильтре" и выбраны соответствующие галочки в пункте 2.

4. Нажать "Применить"




Далее необходимо произвести переиндексацию.
Для этого переходим по ссылке "переиндексация поиска" вверху или внизу страницы настроек модуля.



Необходимо выбрать нужный сайт и модуль "Информационные блоки", если индексировать необходимо только один сайт.
Так же можно убрать галочку "Переиндексировать только измененные" и произвести полную переиндексацию всех сайтов и модулей.




Всё. Теперь данные отправились в индекс и спустя минуту будут доступны для поиска.

Пока данные обрабатываются в индексе, необходимо заменить вызов компонент bitrix на новые.


Если у вас установлен готовый интернет-магазин с маркетплейса, то посмотрите инструкции по интеграции поиска с ними здесь.

Иначе настраивайте по следующему алгоритму:

1. заменить везде вызов bitrix:search.title на itd:search.title , скопировав кастомизированные шаблоны от bitrix:search.title в пространство itd:search.title шаблона вашего сайта


2. заменить по аналогии везде вызов bitrix:search.page на на itd:search.page

3. если у вас используется компонент search.page в каталоге (catalog.search), то необходимо доработать шаблон catalog.search, добавив перед подключением компонента bitrix:search.page
$arElements = $APPLICATION->IncludeComponent("bitrix:search.page"...
конструкцию вида
if (\Bitrix\Main\Loader::includeModule('itd.search')) {
$arElements = \ITD\Search\Index::findIdsNotExactOnlyElements($_REQUEST['q'], [$arParams['IBLOCK_ID']], SITE_ID, 100);
}

А так же обернуть подключение компонента search.page в проверку
if (empty($arElements)) { $arElements = $APPLICATION->IncludeComponent("bitrix:search.page"...

Что будет обозначать, что если сервис поиска не вернет результатов по какой-то причине, то подключится стандартный поиск битрикса.

Для вывода элементов в порядке релевантности (наиболее подходящие в начале), в компонент search.page или catalog.section, смотря в какой передаете $arElements, необходимо указать сортировку
"ELEMENT_SORT_FIELD" => 'id',
"ELEMENT_SORT_ORDER" => $arElements,
подробнее про этот функционал сортировки описан в документации битрикс

Теперь осталось вернуться на страницу настроек модуля и обновить её.
Внизу страницы вы должны увидеть информацию о последних добавленных в индекс элементах



Если элементы начали появляться в блоке "10 последний элементов из поискового индекса", то теперь можно пойти на сайт и попробовать поискать.

Поздравляем!



Нужна помощь?

Если у вас возникли проблемы при настройке или вы нашли ошибку в документации, напишите нам.