Для разработчиков
Перед использованием модуля Поиск необходимо проверить установлен ли он и подключить его при помощи конструкции:
<?
if(CModule::IncludeModule("search"))
{
//здесь можно использовать функции модуля
}
?>
Работа модуля поиска сводится к предварительному индексированию и последующей выдаче информации сайте по запросу пользователя. Индексирование заключается в сохранении времени изменения, модуля-владельца, кода элемента, языка, web-адреса, заголовка, текста и двух произвольных параметров индексируемого элемента, а так же списка кодов групп пользователей, которые имеют доступ на чтение (как минимум) к данному элементу. Поиск заключается в выдаче списка результатов, удовлетворяющих введенной строке запроса (обрабатывается с учётом языка запросов), а так же набору установленных ограничений (модуль-владелец, код элемента, сайт, два произвольных параметра).
Алгоритм работы модуля поиска таков, что он не имеет никакой информации по характеру и структуре данных других модулей. При индексации модули по запросу сами отдают модулю поиска ту информацию, которую необходимо проиндексировать. Передача осуществляется в виде массива заданной структуры. Связь между модулем поиска и другими модулями системы осуществляется через систему сообщений.
Публичные функции и возвращаемые значения
Функция |
Описание |
С версии |
stemming |
Возвращает массив неизменных основ слов. |
6.5.0 |
stemming_default |
Функция морфологического анализа текста применяемая по умолчанию. |
6.5.0 |
stemming_stop_default |
Функция определения стоп слова применяемая по умолчанию. |
6.5.0 |
stemming_letter_default |
Функция возвращает алфавит по умолчанию. |
6.5.0 |
tags_prepare |
Возвращает массив тегов. |
6.5.0 |
InputTags |
Возвращает код html для ввода тегов с поддержкой автодополнения. |
6.5.0 |
Классы модуля поиска
Класс |
Описание |
С версии |
CSearch |
Класс для индексирования сайта и осуществления поиска по индексу. |
3.0.1 |
CSearchCustomRank |
Класс поддержки правил сортировки. |
4.1.2 |
CSiteMap |
Класс поддержки Google Sitemap. |
4.0.12 |
CSearchTags |
Класс поддержки тегов. |
6.5.0 |
Событие |
Описание |
С версии |
BeforeIndex |
Вызывается перед индексацией элемента. |
5.1.0 |
OnSearch |
Вызывается перед выполнением поисковых запросов. |
3.0.4 |
OnReIndex |
Вызывается при построении поискового индекса. |
3.0.4 |
OnSearchGetFileContent |
Вызывается по время переиндексации данных главного модуля. |
6.5.6 |
OnSearchGetURL |
Вызывается при форматировании элемента в результатах поиска. |
4.0.0 |
OnSearchGetTag |
Вызывается при разборе строки тегов. |
7.1.2 |
OnBeforeFullReindexClear |
Вызывается в начале первого шага полной переиндексации, непосредственно перед удалением всех данных поискового индекса. |
8.0.4 |
OnBeforeIndexDelete |
Вызывается перед удалением части поискового индекса. |
8.0.4 |
OnBeforeIndexUpdate |
Вызывается перед обновлением поискового индекса. |
8.0.4 |
OnAfterIndexAdd |
Вызывается после добавления новых данных в поисковый индекс. |
8.0.4 |
OnSearchCheckPermissions |
Вызывается при построении поискового запроса. |
8.0.4 |
Модуль включает в себя следующие Компоненты 2.0:
Назад в раздел