</>
maximorum.com

Laravel Scout та Meilisearch: повнотекстовий пошук, що масштабується

D

Стандартний SQL-запит LIKE '%keyword%' не масштабується. Він сканує всю таблицю, блокує базу даних і повертає нерелевантні результати. Для корпоративних CRM, каталогів або веб-порталів із десятками тисяч записів це означає повільний UX і пряме падіння конверсії.

Laravel Scout з Meilisearch вирішує проблему системно: індекс будується один раз, оновлюється автоматично через Eloquent observers, а пошук за 50 000+ записів займає менше 50 мс.

Meilisearch dashboard з часом відповіді 38 мс та Laravel Scout інтеграцією

Як це влаштовано

  1. Додаємо трейт Searchable до Eloquent-моделей (Product, Order, Client).
  2. Налаштовуємо Meilisearch на VPS або в хмарі — він підтримує українську морфологію без додаткових плагінів.
  3. Конфігуруємо toSearchableArray(): вибираємо лише ті поля, що потрібні для пошуку, щоб не роздувати індекс.
  4. Додаємо фасетні фільтри (категорія, ціна, статус) — вони рендеряться миттєво без запитів до бази даних.

Реальний результат

В одному з наших проектів — B2B-портал постачальника з 80 000 SKU — перехід на Scout + Meilisearch скоротив середній час пошуку з 1,8 с до 38 мс. Кількість відмов на сторінці пошуку впала на 34%.

Кому підходить

  • OpenCart та WordPress-магазини з великим каталогом товарів
  • Корпоративні Laravel-додатки з пошуком по клієнтах, документах і замовленнях
  • SaaS-платформи, де повільний пошук напряму означає відтік користувачів

Наступний крок

Замовте аудит пошуку або запит на впровадження Scout на maximorum.com — ми оцінимо обсяг роботи безкоштовно.