Налаштування автодоповнення пошуку 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування автодоповнення пошуку 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування автодоповнення пошуку для Bitrix CMS

Автодоповнення пошуку — пропозиція завершити введений запит до повного пошукового терміну — відрізняється від підказок: підказки показують конкретні товари або сторінки, автодоповнення пропонує варіанти запитів. У Bitrix ці поняття часто плутають, і реалізація залежить від того, яка саме функціональність потрібна.

Два сценарії автодоповнення

Сценарій 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 та debounce 200–300 мс.

Поєднання підказок та автодоповнення

На практиці найзручніший UX — комбінований випадаючий список:

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

Це реалізується через два паралельних AJAX-запити або через єдиний ендпоінт, що повертає обидва типи даних.

Кеширування

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

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

Терміни виконання

Налаштування стандартного автодоповнення через компонент підказок — 1–2 години. Користувацьке автодоповнення за історією запитів з комбінованим UI — 4–8 годин.