Для разработчиков
Описание
Перед использованием модуля Поиск необходимо проверить установлен ли он и подключить его при помощи конструкции:
<?
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
Компоненты модуля | ||
---|---|---|
Название | Имя в пространстве имен bitrix | Описание |
Форма поиска | search.form | Служит для вывода формы поиска. |
Стандартная страница поиска | search.page | Служит для создания страницы поиска. |
Облако тегов | search.tags.cloud | Предназначен для вывода облака тегов. |
Форма ввода тегов | search.tags.input | Предназначен для вывода формы ввода тегов. |
Поиск по заголовкам | search.title | Предназначен для вывода поля поиска по заголовкам. |
Поле ввода поискового запроса | search.suggest.input | Cлужит для вывода поля ввода поискового запроса с подсказкой. |