Предположительно для включения названий секций инфоблока для работы с стандартным модулем поиска битрикс в настройках инфоблока(а именно в типах инфоблока) есть флажок "Индексировать разделы для модуля поиска", при этом к желаемому результату установка этой галочки не привела(в том числе после переиндексации). Проблема с этой галочкой возникла не только у меня исходя из обсуждения по ссылке https://toster.ru/q/634557
Для понимания как работает модуль поиска в битрикс рекомендую ознакомиться с информацией на следующих страницах:
- https://dev.1c-bitrix.ru/user_help/components/sluzhebnie/search/search_page.php
- https://dev.1c-bitrix.ru/user_help/settings/search/index.php
- https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=35&LESSON_ID=2651
- https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=35&LESSON_ID=2048&LESSON_PATH=3906.4507.2048
В первой приведённой ссылке(на сайте Тостер) в комментариях к первому решению было найдено решение задачи которое и будет описано далее, с примером кода.
Для того чтобы управлять поисковым индексом в файле init.php можно создать обработчик BeforeIndex. Таким образом используя массив $arFields мы можем управлять информацией которая попадёт в поисковый индекс. В данном случаи я буду дописывать нужные мне фразы с тело индекса, а именно в $arFields["BODY"].
В приведённом ниже примере используется самописный класс myGetSectionInfoById для более удобного получения информации из секций инфоблока. Код данного класса доступен по ссылке: http://blog.ivru.net/?id=72.
В моей задаче требовалось не только добавить к поисковому индексу для каждого элемента инфоблока(а именно товара) название секции, а так же дополнительное название UF_NAME2(это название содержало пояснение типа товара при выводе списка товара, например для категории "Комплекты детского постельного белья" UF_NAME2 выглядит так - "Комплект детского постельного белья").
Так же обращу внимание, что именно под эту задачу я создавал init.php в папке сайта, то-есть bitrix/php_interface/s1/ а прямо в папке php_interface, то есть по адресу bitrix/php_interface/ иначе у меня не срабатывало.
Кроме того при решении задачи у меня зависала переиндексация(которая находится в административной панели bitrix в Настройки - Поиск - Переиндексация) при снятии галочки "Переиндексировать только измененные", а переиндексация только изменённых элементов нужного эффекта не давала. Поэтому я зашёл в каждый товар и добавил 1 символ к подробному описанию а позже его удалил.