Как организовать поиск по заголовкам в битриксе?
Решается задача следующим образом
в init.php всталвяем// Исключаем поиск по описаниям
AddEventHandler("search", "BeforeIndex", array("SearchHandlers", "BeforeIndexHandler"));

class SearchHandlers
{
    function BeforeIndexHandler($arFields)
    {
        if($arFields["MODULE_ID"] == "iblock")
        {
            if(array_key_exists("BODY", $arFields) && substr($arFields["ITEM_ID"], 0, 1) != "S") // Только для элементов
            {
                $arFields["BODY"] = "";
            }

            if (substr($arFields["ITEM_ID"], 0, 1) == "S") // Только для разделов
            {
                $arFields['TITLE'] = "";
                $arFields["BODY"] = "";
                $arFields['TAGS'] = "";
            }
        }

        return $arFields;
    }
}
После чего необходимо запустить переиндексацию в настройках-поиск-переиндексация. Данное событие запускается при переиндексировании каждого элемента. Мы убрали из поискового индекса описание, поэтому поиск теперь не будет проводится по описанию в любом компоненте поиска. У разделов мы исключили заголовок, теги и описание, чтобы они вообще не участвовали в поиске.
Уберите вызов компонента поиска, а фильтр замените на array("?NAME"=>$search_str);