Настройка и использование поискового движка Meilisearch в ServBay
Meilisearch — это мощный, сверхбыстрый и интуитивно понятный поисковый движок с открытым исходным кодом, созданный для максимального удобства работы «по мере ввода». Он предоставляет богатые возможности через простой RESTful API. С помощью ServBay развертывание полноценного экземпляра Meilisearch в вашей локальной среде macOS становится проще, чем когда-либо.
Обзор
ServBay интегрировал Meilisearch в свой графический интерфейс управления, позволяя разработчикам устанавливать и настраивать сервис одним кликом мыши — без сложных команд или дополнительных зависимостей. Кроме того, для Meilisearch автоматически настраивается встроенная веб-панель, доступная по удобному доменному имени https://meilisearch.servbay.host/
— для управления индексами, тестирования поиска и мониторинга состояния сервиса.
Необходимые условия
- На вашем macOS установлен и запущен ServBay.
- В вашем проекте необходима интеграция поиска.
- Вы обладаете базовыми знаниями о поисковых движках (индексы, документы, API-ключи).
Пошаговое руководство
1. Установка пакета Meilisearch
Сначала установите Meilisearch через менеджер пакетов ServBay:
- Откройте приложение ServBay.
- В левой панели навигации выберите Пакеты (Packages).
- Найдите в списке пакетов раздел
Поиск
—Meilisearch
. - Нажмите кнопку установки справа от
Meilisearch
и дождитесь окончания инсталляции. - Затем нажмите кнопку активации, чтобы включить сервис
Meilisearch
.
2. Настройка сервиса Meilisearch
После установки можно детально настроить Meilisearch:
В левой панели ServBay выберите пункт Search.
В выпадающем меню выберите Meilisearch, чтобы открыть страницу настроек.
Отрегулируйте параметры в соответствии с вашими потребностями:
- Bind IP (привязка IP): IP-адрес, на котором слушает Meilisearch. Значение по умолчанию
127.0.0.1
означает, что сервис доступен только с локального компьютера — это оптимальное решение с точки зрения безопасности для локальной разработки. - Port (порт): Порт, на котором доступен API Meilisearch. По умолчанию —
7700
. Хотя сервис работает на этом порту, настоятельно рекомендуем взаимодействовать с ним через доменhttps://meilisearch.servbay.host
, предоставляемый ServBay. - Master Key (главный ключ): Это основной секрет для защиты вашего экземпляра Meilisearch. Все запросы к API (создание, изменение, удаление индексов) требуют авторизации этим ключом. Придумайте надежный и уникальный ключ, храните его в безопасности.
- Data Path (путь к данным): Локальная директория для хранения всех индексов и файлов базы данных Meilisearch. По умолчанию —
/Applications/ServBay/data/meilisearch
. Щелкните по значку папки справа, чтобы открыть директорию в Finder. - Runtime Environment (среда выполнения): Выберите между режимами
Development
(разработка) иProduction
(продакшн). В режиме разработки отображаются подробные ошибки и подсказки API — идеально для этапа разработки. В производственном режиме сообщения становятся лаконичными и увеличивается производительность. - Log Level (уровень логирования): Управляет детализацией вывода логов:
INFO
,DEBUG
,WARN
,ERROR
и др. — удобно для диагностики.
- Bind IP (привязка IP): IP-адрес, на котором слушает Meilisearch. Значение по умолчанию
3. Сохраните настройки и запустите сервис
- После завершения конфигурации нажмите кнопку Save (Сохранить) внизу справа.
- ServBay автоматически применит выбранные параметры и попробует запустить/перезапустить сервис Meilisearch.
- Проверьте индикатор статуса рядом с названием Meilisearch: зеленый цвет означает, что сервис работает корректно.
4. Доступ к веб-панели Meilisearch
ServBay предоставляет удобные способы открыть встроенную панель управления Meilisearch:
Способ 1 (рекомендуется): В правом верхнем углу страницы настроек Meilisearch кликните по иконке браузера (в виде компаса); панель откроется в вашем браузере по умолчанию.
Способ 2: Введите адрес
https://meilisearch.servbay.host/
напрямую в адресную строку браузера.
В панели управления доступны следующие возможности:
- Создание и администрирование индексов.
- Тестирование поисковых запросов с визуализацией результатов.
- Просмотр статуса заданий (добавление данных, обновление настроек и др.).
- Управление API-ключами.
5. Интеграция Meilisearch в ваше приложение
Взаимодействовать с локальным экземпляром Meilisearch можно при помощи официальных или сторонних клиентских библиотек.
Для подключения используйте следующие данные:
- Host (хост):
https://meilisearch.servbay.host
(включаяhttps://
) - API Key (API-ключ): Установленный вами на шаге 2
Master Key
Пример на PHP (с использованием meilisearch/meilisearch-php
)
Сначала установите клиентскую библиотеку через Composer:
bash
composer require meilisearch/meilisearch-php
1
Далее выполните подключение и простейшие действия в коде:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// Инициализация клиента Meilisearch
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // Замените на ваш Master Key
try {
// 1. Создать или получить индекс
$index = $client->index('movies');
// 2. Добавить документы
$documents = [
['id' => 1, 'title' => 'Carol', 'genres' => ['Romance', 'Drama']],
['id' => 2, 'title' => 'Wonder Woman', 'genres' => ['Action', 'Adventure']],
['id' => 3, 'title' => 'Life of Pi', 'genres' => ['Adventure', 'Drama']],
['id' => 4, 'title' => 'Mad Max: Fury Road', 'genres' => ['Action', 'Adventure']],
['id' => 5, 'title' => 'Moana', 'genres' => ['Fantasy', 'Action']],
['id' => 6, 'title' => 'Philadelphia', 'genres' => ['Drama']],
];
$index->addDocuments($documents);
echo "Документы добавлены в индекс 'movies'.\n";
// Подождать, чтобы Meilisearch обработал задание на индексирование
sleep(1);
// 3. Выполнить поиск
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "Ошибка Meilisearch: {$e->getMessage()}\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Часто задаваемые вопросы (FAQ)
- Вопрос: Я забыл Master Key, что делать?
- Ответ: В настройках Meilisearch в ServBay вы можете ввести новый Master Key и нажать Save (Сохранить). ServBay автоматически перезапустит сервис и применит новый ключ.
- Вопрос: Не удается запустить сервис Meilisearch, как найти причину?
- Ответ: Нажмите на иконку журнала в правом верхнем углу настроек Meilisearch, чтобы просмотреть логи работы — обычно там есть подробное описание ошибки. Также проверьте, что порт
7700
не занят другим приложением.
- Ответ: Нажмите на иконку журнала в правом верхнем углу настроек Meilisearch, чтобы просмотреть логи работы — обычно там есть подробное описание ошибки. Также проверьте, что порт
- Вопрос: В чем разница между
Development
иProduction
в пункте “Runtime Environment”?- Ответ: В режиме
Development
ответы API содержат полные стеки ошибок — удобно для отладки, но раскрывает внутреннюю структуру сервиса. ВProduction
-режиме ответы короткие, сервис более защищен и работает быстрее — рекомендуется для рабочих и публичных сред.
- Ответ: В режиме
Заключение
Комбинация ServBay и Meilisearch обеспечивает разработчикам на macOS мощную и плавную среду для локальной разработки поисковых решений. Благодаря интуитивному интерфейсу управления и встроенной веб-панели вы можете сконцентрироваться на создании продвинутого поиска в вашем приложении, не тратя время на сложную настройку окружения.