Настройка автодополнения поиска 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка автодополнения поиска 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка автодополнения поиска 1С-Битрикс

Автодополнение поиска — предложение завершить введённый запрос до полного поискового термина — отличается от подсказок: подсказки показывают конкретные товары или страницы, автодополнение предлагает варианты запросов. В Битрикс эти понятия часто смешивают, и реализация зависит от того, какой именно функционал нужен.

Два сценария автодополнения

Сценарий 1: Автодополнение по поисковому индексу Пользователь вводит «красн», система предлагает: «красные платья», «красные кроссовки», «красный диван». Источник — заголовки из b_search_content.

Сценарий 2: Автодополнение по истории запросов Система предлагает популярные запросы других пользователей, совпадающие с введёнными символами. Источник — история поиска из b_search_user_trans (если включено ведение истории).

Стандартный компонент bitrix:search.suggest реализует сценарий 1. Сценарий 2 требует кастомной разработки.

Включение истории поиска

Настройки → Поиск → Настройки модуля → Сохранять историю поиска — включить.

История сохраняется в b_search_user_trans. Поля: SITE_ID, WORD (поисковый запрос), DATE_CHANGE, POPULARITY (количество повторений).

Реализация автодополнения по популярным запросам

AJAX-эндпоинт для автодополнения по истории:

// /local/ajax/search_autocomplete.php
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';

$query = trim($_GET['q']);
if (strlen($query) < 2) {
    die(json_encode([]));
}

$result = \Bitrix\Main\Application::getConnection()->query(
    "SELECT WORD, POPULARITY FROM b_search_user_trans
     WHERE SITE_ID = '" . SITE_ID . "'
     AND WORD LIKE '" . \Bitrix\Main\DB\MssqlConnection::ForSql($query) . "%'
     ORDER BY POPULARITY DESC
     LIMIT 10"
);

$suggestions = [];
while ($row = $result->fetch()) {
    $suggestions[] = $row['WORD'];
}
echo json_encode($suggestions);

На фронтенде — стандартный input с обработчиком input события и дебаунсом 200–300 мс.

Сочетание подсказок и автодополнения

На практике наиболее удобный UX — комбинированный выпадающий список:

  • Верхняя часть: 3–5 популярных запросов (автодополнение)
  • Нижняя часть: 5–7 конкретных товаров (подсказки с картинками)

Это реализуется через два параллельных AJAX-запроса или через единый эндпоинт, возвращающий оба типа данных.

Кэширование

Запросы автодополнения выполняются при каждом вводе символа — важно кэшировать ответы. Варианты:

  • Кэш Битрикс (\Bitrix\Main\Data\Cache) с TTL 30–60 минут
  • Redis/Memcached для хранения популярных запросов
  • Статические файлы для топ-100 популярных запросов (обновляются агентом раз в час)

Сроки выполнения

Настройка стандартного автодополнения через компонент подсказок — 1–2 часа. Кастомное автодополнение по истории запросов с комбинированным UI — 4–8 часов.