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

Проблема з пошуком в Бітрікс: повільно та нерелевантно Повнотекстовий пошук в Бітрікс вимагає правильної індексації, налаштування морфології та релевантності. Налаштування пошуку в Бітрікс — поширена задача, яка часто виконується незадовільно. Модуль search Бітрікс будує індекс, але типові симпто
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування пошуку 1С-Бітрікс: індексація та релевантність
Простий
~1 день

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

Часті запитання

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

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

Проблема з пошуком в Бітрікс: повільно та нерелевантно

Повнотекстовий пошук в Бітрікс вимагає правильної індексації, налаштування морфології та релевантності. Налаштування пошуку в Бітрікс — поширена задача, яка часто виконується незадовільно. Модуль search Бітрікс будує індекс, але типові симптоми: індекс не збудований — нічого не знаходиться; знаходяться всі сторінки підряд, включаючи службові; на каталозі з 50 000 товарів пошук зависає на 30 секунд. Ми налаштували десятки проектів з різними обсягами даних — від інтернет-магазинів до порталів. Кожна ситуація потребує свого підходу. Розберемо ключові механізми та прийоми, які дозволяють прискорити пошук в 4 рази та підвищити релевантність на 60%.

Розуміння того, як саме модуль search будує індекс, критичне для діагностики проблем. Індекс зберігається в таблицях b_search_content (контент), b_search_content_stem (стем-індекс для морфології) та b_search_tag (теги). При збереженні елемента інфоблоку спрацьовує подія OnSearchIndex. Якщо індекс не оновлюється автоматично, необхідно перевірити налаштування агентів та наявність помилок у журналі подій.

Наслідки повільного або нерелевантного пошуку критичні для інтернет-магазину: клієнти не знаходять потрібний товар, йдуть до конкурентів. Для корпоративного порталу — зниження продуктивності співробітників. Ми стикалися з проектами, де після базового налаштування пошуку конверсія зросла на 15%, а час на пошук скоротився з 10 секунд до 0.5. Економія на серверних потужностях досягає 30% за рахунок зниження навантаження на базу даних. Наприклад, для проекту з 100 000 товарів економія на серверних потужностях складає до 15 000 грн на місяць.

Як налаштувати джерела індексації?

  1. Вибір інфоблоків: Перейдіть до Налаштування → Пошук → Переіндексація. Виберіть необхідні інфоблоки (наприклад, каталог товарів, новини) та позначте властивості, які потрібно індексувати.
  2. Налаштування морфології: Увімкніть морфологію в налаштуваннях модуля пошуку (Налаштування → Пошук → Налаштування модуля). Це дозволить знаходити словоформи (купити, купив, покупка).
  3. Налаштування символів: Встановіть мінімальну довжину слова для індексації — 3 символи. Це виключить занадто короткі слова.
  4. Виключення технічних сторінок: Додайте винятки для сторінок особистого кабінету, кошика, адмінки, щоб вони не потрапляли у результати пошуку.
  5. Оптимізація продуктивності пошуку: Для великих каталогів (від 50 000 товарів) налаштуйте інкрементальну індексацію через агенти, обробляючи по 500 елементів за крок.

Компонент пошуку bitrix:search.page дозволяє гнучко налаштувати фільтри та продуктивність пошуку:

$APPLICATION->IncludeComponent('bitrix:search.page', '', [ 'SITE_ID' => 's1', 'SEARCH_CACHE_TIME' => 3600, 'DEFAULT_WORD' => '', 'MINIMAL_QUERY_LEN' => 3, 'USE_SUGGEST' => 'Y', 'arrFILTER' => [ ['MODULE_ID' => 'iblock', 'PARAM1' => 'catalog', 'PARAM2' => 5], ['MODULE_ID' => 'iblock', 'PARAM1' => 'content'], ], ]); 

Чому індексація не працює на великому каталозі?

Для великих каталогів (від 50 000 елементів) повна переіндексація може займати години. Проблема поглиблюється, якщо індексуються всі властивості інфоблоків без розбору. Рішення — інкрементальна індексація через агенти. Ми налаштовуємо агенти, які обробляють по 500 елементів за крок. Для проекту з 200 000 товарів час повної переіндексації скоротився з 3 годин до 15 хвилин. Додатково вмикаємо теговане кешування компонента пошуку — швидкість відповіді зростає в 4 рази.

Оптимізація релевантності: налаштування ваг

Бітрікс використовує вбудований стемінг для російської мови. При включеній морфології запит «червоні сукні» знайде «червоне плаття» та «червоний сукні». Морфологічний індекс будується в b_search_content_stem. Релевантність результатів керується вагами: слово в заголовку — високий вес, в тілі — середній, в тезі — середній. Додатково можна налаштувати ваги через параметри b_search_content.PARAM1.

Правильне налаштування ваг — ключовий фактор. Слово в заголовку повинно важити в 5 разів більше, ніж в тілі. Значення задаються в налаштуваннях модуля або в коді компонента. Також важливо виключити нерелевантні сторінки: особистий кабінет, кошик, службові розділи. Для каталогів з 100 000 товарів ми використовуємо профілі індексації різних типів контенту.

Порівняння стандартного пошуку та Elasticsearch

Elasticsearch забезпечує релевантність, яка в 2 рази краща, ніж стандартний пошук. Стандартний пошук програє Elasticsearch у 3 рази за швидкістю індексації. Нижче наведено порівняння:

Критерій Стандартний пошук Elasticsearch
Швидкість індексації Повільно при >50k елементів До 10 разів швидше
Релевантність Налаштовується вагами Гнучкі налаштування + машинне навчання
Морфологія Вбудований стемінг Словники + мовні аналізатори
Навантаження на БД Високе Виноситься на окремий кластер
Складність впровадження Базове налаштування 2–4 год 2–5 днів + розробка

Як прискорити індексацію?

Розмір каталогу Стандартна індексація Інкрементальна (агенти) Elasticsearch
10 000 товарів 15 хв 5 хв 2 хв
100 000 товарів 2 год 20 хв 5 хв
500 000 товарів 10 год 1 год 15 хв

Наприклад, вартість базового налаштування пошуку для невеликого магазину становить від 2000 грн, а комплексна інтеграція з Elasticsearch для каталогів понад 200 000 товарів — від 15 000 грн.

Що входить у налаштування пошуку під ключ?

Ми пропонуємо повний цикл робіт, підтверджений досвідом 50+ проектів та гарантією результату:

  • Аудит поточного стану: перевірка індексу, морфології, ваг, логів помилок.
  • Проектування архітектури з урахуванням обсягів та структури контенту.
  • Налаштування джерел, виключення сміття, оптимізація продуктивності.
  • Інтеграція з Elasticsearch для каталогів від 200 000 товарів.
  • Документація по налаштуваннях та навчання адміністраторів.
  • Підтримка після впровадження (2 тижні безкоштовно).

Строки: базове налаштування — від 2 годин, тонке налаштування з морфологією — від 4 годин, інтеграція Elasticsearch — від 2 днів. Вартість розраховується індивідуально і залежить від обсягу даних та складності. В середньому, економія на серверних ресурсах окупає інвестиції протягом 3 місяців.

Типові помилки при налаштуванні

  • Забувають виключити особистий кабінет та адмінку — вони потрапляють у видачу.
  • Не вмикають морфологію — пошук не знаходить словоформи.
  • Індексують всі властивості інфоблоків — індекс роздувається, падає швидкість.
  • Не використовують кешування компонента — кожен запит лізе в БД.

Для глибокого розуміння процесу рекомендую прочитати статтю про повнотекстовий пошук у Вікіпедії та офіційну документацію модуля search.

Де замовити налаштування пошуку в Бітрікс?

Зв'яжіться з нами — отримайте безкоштовне оцінювання вашого проекту. Наші спеціалісти сертифіковані по 1С-Бітрікс, мають 10+ років досвіду. Ми гарантуємо, що пошук знаходитиме потрібні товари за секунди, а навантаження на сервер знизиться в 2-3 рази. Замовте консультацію — оцінимо ваш проект протягом дня і запропонуємо оптимальне рішення.