Как настроить поиск по описанию свойства элемента типа файл?
BeforeIndex
в /bitrix/php_interface/init.php:AddEventHandler("search", "BeforeIndex", Array("BeforeIndex", "BeforeIndexHandler"));
CModule::AddAutoloadClasses('', array(
    'BeforeIndex' => '/bitrix/php_interface/classes/BeforeIndex.php',
        )
);
в /bitrix/php_interface/classes/BeforeIndex.php:class BeforeIndex {

    function BeforeIndexHandler($arFields) {
        $IBLOCK_ID = 1 //нужный инфоблок
        if ($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == $IBLOCK_ID) {
            
            $arSelect = Array("ID", "NAME", "PROPERTY_FILE");
            $arFilter = Array("IBLOCK_ID" => $IBLOCK_ID, "ID" => $arFields['ITEM_ID']);
            $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
            if ($ar_res = $res->GetNext()) {
                //Тут узнаете есть ли файлы или нет и тянете их DESCRIPTION
                ...
                $arFields["BODY"].= PHP_EOL.$DESCRIPTION;
            }
        }
        return $arFields;
    }

}
Для обеспечения подобного функционала изначально следовало бы использовать стандартную медиатеку, (ну или отдельно хранить вложенные файлы в отдельном инфоблоке, что в принципе одно и то же). На мой взгляд самое оптимальное решение разработать структуру в которой выносится отдельный инфоблок с вложениями. В него с помощью API перенести все элементы, а долее так же через API исправить свойство из привязки файлов в привязку к элементам инфоблока. Таким образом останется только поменять в шаблонах выдачу, список всех шаблонов можно получить через, на пример, grep в папке сайта с указанием кода и id предыдущего свойства. Работы примерно на 1 -1,5 рабочих дня. За то оборачивайте в свой функционал все что нужно.