Інтеграція Meilisearch для швидкого пошуку на сайті

Інтеграція Meilisearch для швидкого пошуку на сайті

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Meilisearch для швидкого пошуку на сайті
Середній
від 1 дня до 3 днів

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1248
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    984
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Інтеграція Meilisearch для швидкого пошуку на сайті

Відзначимо: коли кількість записів у каталозі перевалює за 50 000, стандартний LIKE '%query%' в PostgreSQL починає гальмувати. Час запиту зростає, навантаження на базу збільшується. Ми не раз стикалися з цією проблемою на проєктах. Рішення — Rust пошуковик Meilisearch: двигун повнотекстового пошуку на Rust, який відповідає швидше ніж 50 мс навіть на мільйонах записів. Meilisearch у 15 разів швидший за стандартний SQL-пошук. Він підтримує пошук з помилками, нечіткий пошук, фасетну фільтрацію та автодоповнення з коробки. Налаштування Meilisearch включає конфігурацію індексу, правил ранжування та синхронізацію з базою даних (індексація даних). Ми пропонуємо Meilisearch інтеграцію під ключ: від налаштування інфраструктури до UI-компонента. За нашими розрахунками, інтеграція окупається за 2–3 місяці, а економія витрат на інфраструктуру становить до 400 000 ₴ на рік. Вартість базової інтеграції — від 25 000 грн. Маємо 5+ років досвіду в інтеграції пошукових систем, реалізовано понад 30 проєктів. Отримайте консультацію з інтеграції вашого проєкту.

Meilisearch official documentation: "Meilisearch is an open-source, RESTful search engine built in Rust. It is designed to be fast, relevant, and easy to use."

Чому варто обрати Meilisearch?

Вбудований пошук PostgreSQL перестає бути ефективним при 50 000+ записів. Meilisearch будує обернений індекс окремо, запити йдуть повз основну БД. Це знижує навантаження та прискорює пошук у 10–20 разів. Порівняйте: таблиця на 200 000 товарів шукає через Meilisearch за 30–50 мс, тоді як SQL-запит з LIKE може займати 500 мс і більше. Крім того, Meilisearch з коробки виправляє помилки та підтримує фасетну фільтрацію — те, що в Elasticsearch потребує додаткових налаштувань. Середній ROI за проєктами — 300%. Ми маємо досвід інтеграції в проєктах різного масштабу: від блогів з 10 000 статей до B2B-каталогів з 500 000 товарів. Гарантуємо стабільну роботу при пікових навантаженнях. Зв'яжіться з нами для оцінки вашого проєкту.

Архітектура інтеграції

Browser → Backend API → Meilisearch HTTP API ↓ PostgreSQL (джерело даних) Індексатор (Queued Job / Cron) 

Meilisearch не замінює основну БД. Дані живуть в PostgreSQL, в Meilisearch потрапляє лише те, що потрібно для пошуку. Синхронізація — через черги при зміні записів або періодичним ребілдом індексу.

Як налаштувати синхронізацію?

  1. Встановіть Meilisearch через Docker: docker run -p 7700:7700 getmeili/meilisearch
  2. Створіть індекс з потрібними полями та налаштуйте правила ранжування.
  3. Підключіть Laravel Scout з офіційним драйвером Meilisearch. Приклад моделі:
use Laravel\Scout\Searchable; class Product extends Model { use Searchable; public function toSearchableArray(): array { return [ 'id' => $this->id, 'name' => $this->name, 'description' => strip_tags($this->description), 'brand' => $this->brand->name, 'category_id' => $this->category_id, 'price' => $this->price, 'in_stock' => $this->stock > 0, ]; } } 
  1. Запустіть первинну індексацію: php artisan scout:import "App\Models\Product".
  2. Для швидкого пошуку з фільтрами використовуйте:
$results = Product::search($query) ->where('in_stock', true) ->where('category_id', $categoryId) ->orderBy('price') ->paginate(20); 

Фасетна фільтрація

Meilisearch повертає агрегації по фасетах за один запит. Наприклад, для фільтрації за категорією, брендом та наявністю можна надіслати запит з параметрами filter та facets. Відповідь містить розподіл по кожному фасету, що спрощує побудову UI-фільтрів.

Прямий пошук з браузера

Прямі запити з JavaScript до Meilisearch можливі через Search-only API Key — ключ з обмеженими правами (лише пошук по конкретних індексах). Це знижує затримку, прибираючи зайвий hop через бекенд. Приклад: client.index('products').search(query, { filter: 'in_stock = true', limit: 10 }).

Кейс з нашої практики: інтернет-магазин з 200 000 товарів

Наш клієнт — інтернет-магазин з каталогом електроніки на 200 000 SKU. До нас звернувся клієнт, у якого пошук працював через PostgreSQL LIKE, час відповіді сягав 800 мс, а навантаження на базу становило 70% CPU. Ми налаштували Meilisearch: Docker на окремому сервері, синхронізація через Laravel Scout з чергами. Після інтеграції час пошуку впав до 40 мс, навантаження на базу знизилося на 75%. Економія витрат на інфраструктуру склала 400 000 ₴ на рік. Клієнт відзначив покращення UX та зростання конверсії на 12%. Проєкт зайняв 8 робочих днів.

Що входить в роботу

Deliverable Опис
Аудит пошуку Аналіз поточної реалізації, навантажувальне тестування
Інфраструктура Docker-образ, налаштування SSL, генерація API-ключів
Схема індексу Визначення атрибутів, правил ранжування, фасетів
Бекенд-інтеграція Код синхронізації через черги, пошукові запити
UI-компонент Адаптивний пошук з автодоповненням та фільтрами
Тестування Перевірка на реальних даних, сценарії edge cases
Документація Опис архітектури, інструкція з розгортання
Підтримка після запуску 2 тижні супроводу

Строки та вартість

Етап Час
Налаштування інфраструктури 1 день
Схема індексу 1 день
Інтеграція в бекенд 2–3 дні
UI компонент пошуку 2–3 дні
Тестування та деплой 1 день

Разом: 7–9 робочих днів для типового каталогу. Вартість базової інтеграції — від 25 000 грн. Напишіть нам, і ми оцінимо ваш проєкт індивідуально.

Моніторинг

Метрики моніторингуMeilisearch віддає метрики через `/metrics` у Prometheus-форматі (при включеній опції). Ключові показники: розмір індексу, час індексації завдань, кількість запитів на секунду. Статус завдань індексації доступний через `/tasks`.

Ми гарантуємо, що пошук працюватиме швидко навіть при одночасних запитах тисяч користувачів. Досвід показує, що правильно налаштована індексація знижує навантаження на базу на 60–80%. Замовте інтеграцію Meilisearch для вашого сайту та отримайте швидкий і релевантний пошук. Зв'яжіться з нами для консультації та оцінки проєкту.