qwelp.search · Руководство по подключению

Документация

Подключите подсказки и страницу результатов. Полная встроенная справка об индексации, компонентах, шаблонах, аналитике, словарях и обслуживании поиска.

Начало

Умный поиск добавляет подсказки и страницу результатов. Он учитывает артикулы, синонимы, словоформы, раскладку и опечатки. Результаты ограничены сайтом и правами посетителя.

  1. Установите модуль в разделе Marketplace → Установленные решения. Нужны модули «Главный модуль», «Информационные блоки» и «Поиск».
  2. Откройте Квэлп → Умный поиск → Настройки. Выберите сайт, его инфоблоки и поля поиска; сохраните настройки.
  3. Откройте Переиндексация, выберите тот же сайт и выполните индексацию. Подключите компоненты из вкладки «Компоненты» и проверьте известный товар.

Для цен и торговых предложений нужен штатный модуль «Торговый каталог». Другие модули Qwelp необязательны. Внешний поисковый сервис и платная подписка не требуются.

Настройка

  1. В верхней части настроек выберите сайт. Повторите настройку для каждого сайта установки.
  2. Укажите инфоблоки и свойства с названиями, артикулами и другими поисковыми данными. После изменения набора данных выполните переиндексацию.
  3. Настройте подсказки, исправление запросов и сбор аналитики. Проверьте выдачу под обычным посетителем. Адреса товаров и разделов берутся из настроек инфоблока. Для нестандартного каталога откройте Настройки → Ссылки: задайте шаблон товара и/или раздела для нужного сайта и инфоблока. Пустое поле возвращает настройку инфоблока.
РазделНазначение
ПоискВключение модуля, источники и поля, длина запроса, раскладка, морфология и исправление опечаток.
ПодсказкиКоличество категорий, товаров, брендов и популярных запросов; история посетителя.
АналитикаЖурнал запросов, переходы, нулевые результаты и сроки хранения.
ПраваВ штатных настройках модуля: D — закрыто, R — чтение отчётов, W — изменение настроек и словарей.

Общие файлы устанавливаются в /bitrix/modules/qwelp.search/, /bitrix/components/qwelp/search.* и /bitrix/js/qwelp/search/. Второму сайту не нужна собственная копия /local/. Клиентские шаблоны в /local/ сохраняются.

Компоненты

Для страницы результатов создайте обычную страницу Битрикса, например search/index.php, и разместите вызов между подключениями header.php и footer.php. Для подсказок добавьте второй пример в шаблон шапки или другую область страницы. На странице результатов достаточно первого примера: в нём уже есть форма с живыми подсказками. Не добавляйте второй пример над первым — появятся два поля поиска.

$APPLICATION->IncludeComponent('qwelp:search.page', '.default', [
    'PER_PAGE' => '20',
    'INPUT_NAME' => 'q',
    'PAGER_NAME' => 'qs_page',
    'SUGGEST_TEMPLATE' => '.default',
    'CACHE_TYPE' => 'A',
    'CACHE_TIME' => '36000000',
], false);
$APPLICATION->IncludeComponent('qwelp:search.title', '.default', [
    'SHOW_INPUT' => 'Y',
    'INPUT_NAME' => 'q',
    'PAGE' => '#SITE_DIR#search/',
    'NUM_PRODUCTS' => '5',
], false);
ПараметрЗначение
PER_PAGE / PAGER_NAMEРазмер страницы 1–100 (20 по умолчанию); параметр пагинации qs_page.
INPUT_NAME / SUGGEST_TEMPLATEИмя поля запроса q; имя шаблона вложенных подсказок .default.
SET_TITLE / BREADCRUMB_NAV / SHOW_ZERO_RESULT_SUGGESTIONSЗаголовок, навигационная цепочка и предложения при пустой выдаче: Y/N.
PAGE / PLACEHOLDERАдрес результатов #SITE_DIR#search/ и текст подсказки поля.
SHOW_INPUT / FORM_SELECTORY выводит собственную форму; N подключает существующую форму по CSS-селектору.
SHOW_POPULAR / SHOW_HISTORYПопулярные запросы и история: Y/N.
NUM_CATEGORIES / NUM_PRODUCTS / NUM_BRANDSЛимиты подсказок: 3 / 5 / 2 по умолчанию.
USE_PARENT_FORMY предназначен для вложенного вызова из search.page; отдельно оставьте N.
CACHE_TYPE / CACHE_TIMEШтатные параметры кеширования Битрикса. Изменение данных сбрасывает кеш результатов.

Если имя поля отличается от q, задайте одно имя на странице и в форме. PAGER_NAME должен отличаться от INPUT_NAME и qs_exact. Параметры сохраняйте штатным редактором компонентов; в управляемом массиве используйте строки и числа.

Оформление

  1. Скопируйте всю папку .default нужного компонента в папку шаблона сайта по примеру ниже.
  2. Измените template.php, style.css, view.js и языковые файлы внутри копии. Сохраните data-атрибуты, ARIA и экранирование.
  3. Выберите имя копии в параметрах компонента. Для страницы результатов укажите имя копии подсказок в SUGGEST_TEMPLATE.
/local/templates/<site_template>/components/qwelp/search.title/my_search/
/local/templates/<site_template>/components/qwelp/search.page/my_results/

view.js отвечает за разметку AJAX-результатов. Общий search.bundle.js обслуживает запросы, клавиатуру и жизненный цикл. Копируйте весь шаблон вместе с view.js; не изменяйте общие файлы модуля ради дизайна.

Кешируемый родитель и AJAX

Если форма находится в кеше родительского компонента или произвольном HTML-фрагменте, загрузите расширение вне этой кешируемой области. Проверьте холодный и повторный запросы, замену HTML и несколько форм.

\Bitrix\Main\UI\Extension::load('qwelp.search');

Для подробного контракта шаблонов см. docs/templates.md в установленном модуле. При обновлении изменённые клиентские файлы не перезаписываются; сообщение о конфликте требует сравнения и переноса собственных изменений.

Аналитика и словари

  1. Откройте Аналитика, выберите сайт и период. Смотрите нулевые запросы и переходы из выдачи.
  2. Если нужный товар существует под другим названием, добавьте правило в Синонимы. Для перехода на существующую страницу используйте Редиректы.
  3. Используйте Стоп-слова для служебных слов. После изменения правила повторите запрос и проверьте результат.

Журнал содержит поисковый запрос, дату, сайт, количество результатов, источник и переход. Доступ к нему ограничьте правами модуля. История поисковой формы хранится в браузере посетителя. Популярные запросы публикуются после достижения порогов активности разных посетителей.

НастройкаПо умолчанию
LOG_RETENTION_DAYSЖурнал запросов: 90 дней.
PII_RETENTION_DAYSСвязанные с посетителем данные: 30 дней.
ZERO_RESULT_RETENTION_DAYS / POPULAR_RETENTION_DAYSНулевые и популярные запросы: 180 дней.
IP_FULL_RETENTIONПолный IP отключён.
POPULAR_MIN_HITS / POPULAR_MIN_UNIQUE_ACTORSНе менее 3 запросов и 3 разных посетителей.

Выбирайте сроки хранения с учётом своих процессов. Поисковые запросы могут содержать введённые посетителем личные сведения. Модуль не отправляет журнал внешнему поисковому сервису.

Проверка и удаление

СимптомЧто проверить
Пустая выдачаСайт, выбранные инфоблоки, активность и права товара, поля поиска и завершение индексации.
Нет подсказокЗагрузка расширения qwelp.search, view.js выбранного шаблона, правильный FORM_SELECTOR и ошибки консоли.
Старая выдачаРабота агентов, завершение переиндексации и кеш родителя/Композита.
Нет аналитикиВключены ли журнал и аналитика; выбран ли правильный сайт и период. GET-подсказка без действия посетителя не записывается как поиск.
Конфликт установкиСравните принадлежащий модулю файл с клиентской копией. Не удаляйте чужие файлы для обхода проверки.

Перед удалением сделайте резервную копию. В Marketplace → Установленные решения выберите удаление «Квэлп: Умный поиск». Отмеченное «Сохранить данные» сохраняет настройки и таблицы для повторной установки. Снятие отметки подтверждает удаление собственных данных модуля.

Удаление затрагивает общий модуль на обоих сайтах. Уберите вызовы его компонентов из своих страниц. Если операция прервана, повторите её штатно: установщик продолжит сохранённый этап.

Требования: PHP 8.2+, Bitrix main 23.0+, UTF-8, MySQL 8.0+. Для каталога нужны соответствующие модули платформы. На большом каталоге измерьте время и число запросов: подбор опечаток ограничен словарём до 600 кандидатов и не гарантирует исправление любого слова.

Полный текст установленной справки, сверенный 09.09.2026. Примеры PHP предназначены для страницы сайта или копии шаблона компонента. Дополнительный контракт оформления находится в файле docs/templates.md установленного модуля.