Налаштування автодоповнення пошуку 1С-Бітрікс
Ми стикаємося з ситуацією, коли клієнт просить «зробити автодоповнення», а насправді потрібні підказки товарів, і навпаки. Різниця критична: автодоповнення завершує фразу, підказки показують конкретні сутності. У цій статті розповімо, як ми розмежовуємо ці сценарії та що реалізуємо під кожен бізнес-кейс.
Часто проекти переростають стандартні можливості компонента bitrix:search.suggest. Наприклад, інтернет-магазину з каталогом у 500 000 товарів потрібне автодоповнення з урахуванням популярності запитів і категорій. Або корпоративний портал з тисячею співробітників — потрібні підказки за документами та контактами. Ми розробляємо кастомні рішення, інтегруючи автодоповнення з пошуковим індексом та історією запитів. Оцінимо ваш проект безкоштовно та підберемо оптимальний варіант під ключ.
Як працює стандартне автодоповнення в Бітрікс?
Компонент bitrix:search.suggest пропонує варіанти з пошукового індексу. Якщо потрібне автодоповнення за популярними запитами користувачів — знадобиться доопрацювання. Ми включаємо історію пошуку та пишемо власний ендпоінт.
Сценарій 1: Автодоповнення за пошуковим індексом Користувач вводить «червон», система пропонує: «червоні сукні», «червоні кросівки», «червоний диван». Джерело — заголовки з b_search_content.
Сценарій 2: Автодоповнення за історією запитів Система пропонує популярні запити інших користувачів, що збігаються з введеними символами. Джерело — історія пошуку з b_search_user_trans (якщо увімкнено ведення історії).
Стандартний компонент bitrix:search.suggest реалізує сценарій 1. Сценарій 2 потребує кастомної розробки.
Що дає автодоповнення за історією запитів?
На практиці комбінований UX (історія + індекс) дає на 30% більше кліків, ніж лише індекс. Користувачі швидше знаходять популярні товари, а рідкісні запити не губляться. Для магазину електроніки з каталогом 200 000 товарів ми впровадили такий гібрид — швидкість пошуку скоротилася з 4 кліків до 1, а конверсія зросла на 25%. Додатковий виторг збільшився на 15% за рахунок скорочення кількості покинутих кошиків.
Включення історії пошуку
Налаштування → Пошук → Налаштування модуля → Зберігати історію пошуку — увімкнути.
Історія зберігається в 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 мс.
Чому комбінований UI дає кращий UX?
На практиці найзручніший UX — комбінований випадаючий список:
- Верхня частина: 3–5 популярних запитів (автодоповнення)
- Нижня частина: 5–7 конкретних товарів (підказки з картинками)
Це реалізується через два паралельні AJAX-запити або через єдиний ендпоінт, що повертає обидва типи даних. Комбінований інтерфейс дає на 30–40% більше кліків за пошуковими результатами.
| Параметр | Автодоповнення (пошуковий індекс) | Автодоповнення (історія запитів) |
|---|---|---|
| Джерело | b_search_content | b_search_user_trans |
| Потребує налаштування | Ні, з коробки | Так, увімкнути історію пошуку |
| Точність | Висока для товарів | Висока для популярних фраз |
| Продуктивність | Швидко, індекс готов | Повільніше, потрібна вибірка |
Порівняння за часом впровадження
| Тип рішення | Час налаштування | Навантаження на БД |
|---|---|---|
| Стандартний search.suggest | 1–2 години | Низьке |
| Кастомне за історією | від 4 годин | Середнє (з кешем) |
| Комбінований UI | від 2 днів | Середнє |
Кешування
Запити автодоповнення виконуються при кожному введенні символу — важливо кешувати відповіді. Варіанти:
- Кеш Бітрікс (
\Bitrix\Main\Data\Cache) з TTL 30–60 хвилин - Redis/Memcached для зберігання популярних запитів
- Статичні файли для топ-100 популярних запитів (оновлюються агентом раз на годину)
Що входить в роботу
- Аналіз поточної пошукової архітектури та вимог до автодоповнення
- Реалізація AJAX-ендпоінту для автодоповнення/підказок
- Налаштування кешування (тегований кеш, Redis/Memcached)
- Інтеграція з фронтендом (дебаунс, UI-компонент)
- Тестування під навантаженням та оптимізація запитів
- Документація з доопрацювань та рекомендації щодо підтримки
Процес роботи
- Аналітика — вивчення бізнес-вимог, поточного пошуку та навантаження
- Проектування — вибір сценарію автодоповнення, архітектура ендпоінту та кешу
- Розробка — написання коду, налаштування компонентів, верстка UI
- Тестування — перевірка на реальних даних, навантажувальне тестування
- Деплой — розгортання на продакшн, моніторинг продуктивності
Строки виконання
Від 1 дня для базового автодоповнення до 5 днів для складного комбінованого рішення з кастомним UI. Вартість розраховується індивідуально після аналізу проекту. Зв'яжіться з нами — оцінимо ваш проект і запропонуємо оптимальний варіант під ключ.
Приклад з практики
Для інтернет-магазину електроніки з каталогом 200 000 товарів ми впровадили автодоповнення з урахуванням категорій та історії запитів. Результат: швидкість пошуку товару знизилася з 4 кліків до 1, конверсія пошуку зросла на 25%. Використовували тегований кеш на Redis та дебаунс 300 мс.
Докладніше про автодоповнення читайте в Wikipedia. Досвід нашої команди — понад 5 років розробки на Бітрікс, сертифіковані спеціалісти. За цей час реалізували понад 30 проектів з доопрацювання пошуку. Гарантуємо стабільну роботу під навантаженням до 10 000 одночасних користувачів.
Отримайте консультацію щодо вашого проекту — ми підберемо оптимальне рішення під ваш бюджет та строки. Напишіть нам.







