Для разработчиков
Описание
Перед использованием модуля Поиск необходимо проверить установлен ли он и подключить его при помощи конструкции:
<?
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лужит для вывода поля ввода поискового запроса с подсказкой. |
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.