Поиск в битриксе API

← разместить еще код

search api bitrix. Поиск в битриксе без использования компонентов поиска. Достаточно указать запрос, модуль и, если надо, id инфоблока. Если распечатать массив arResult, можно определить, по каким полям еще можно фильтровать поиск.

Расшаренный код:

<?
	require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
	CModule::IncludeModule('search');
	$q = $_GET['q'];	//запрос
	$module_id = "iblock"; //ищем в инфоблоках
	$obSearch = new CSearch;
	$obSearch->Search(array(
	    "QUERY" => $q,
	    "MODULE_ID" => $module_id, 
	    "PARAM2" => 277 //инфоблок id
	));
	if ($obSearch->errorno!=0):
	    ?>
	    <font class="text">В поисковой фразе обнаружена ошибка:</font>
	    <?echo ShowError($obSearch->error);?>
	    <font class="text">Исправьте поисковую фразу и повторите поиск.</font>
	    <?
	else:
	    while($arResult = $obSearch->GetNext())
	    {
	        ?>
	        <a href="<? echo $arResult['URL']; ?>"><? echo $arResult['TITLE']; ?></a>
	        <p><? echo $arResult['BODY_FORMATED']; ?></p>
	        <?
	    ?>
	    <?
	    }
	endif;
?>