Интеграция 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
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    984
  • 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 начинает тормозить. Время запроса растёт, нагрузка на базу увеличивается. Мы не раз сталкивались с этой проблемой на проектах. Решение — Meilisearch: движок полнотекстового поиска на Rust, который отвечает быстрее 50 мс даже на миллионах записей. Он поддерживает опечатки, нечёткий поиск, фасетную фильтрацию и автодополнение из коробки. Настройка Meilisearch включает конфигурацию индекса, правил ранжирования и синхронизацию с базой данных. Мы предлагаем интеграцию под ключ: от настройки инфраструктуры до UI-компонента. По нашим расчётам, интеграция окупается за 2–3 месяца, а экономия затрат на инфраструктуру составляет до 400 000 ₽ в год. Получите консультацию по интеграции вашего проекта.

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 рабочих дней для типового каталога. Стоимость рассчитывается индивидуально — напишите нам, и мы оценим ваш проект.

Мониторинг

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

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