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

Навигация по разделам документации

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


Для начала, установите модуль: Установить модуль





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



Далее надо произвести первичную настройку модуля.
1. Выбрать вкладку с нужным сайтом
2. Поставить галочку "Включить для этого сайта отправку данных в поисковый индекс"
3. Убедиться, что для инфоблоков указаны все свойства, которые необходимо индексировать, а так же нет лишних. Если что-то не так, нажмите "настройки" возле названия инфоблока и перенастройте индексацию свойств. Для свойств которые должны попадать в поисковый индекс должна стоять галочка "Значения свойства участвуют в поиске", либо "Показывать в умном фильтре"
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 последний элементов из поискового индекса", то теперь можно пойти на сайт и попробовать поискать.

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






Если у вас остались вопросы, то напишите нам в техподдержку.