Налаштування та використання Meilisearch у ServBay
Meilisearch — це потужний, надзвичайно швидкий і легкий у використанні пошуковий движок з відкритим кодом, створений для забезпечення виняткового досвіду «пошуку під час набору». Він пропонує широкий набір функцій через простий RESTful API. Завдяки ServBay розгортання повнофункціонального інстансу Meilisearch у локальному середовищі macOS стало надзвичайно простим.
Огляд
ServBay інтегрує Meilisearch у зручний графічний інтерфейс керування, що дозволяє розробнику встановити та налаштувати його в один клік — без складних команд та залежностей. Для Meilisearch автоматично створюється вбудована веб-панель керування, доступна за доменом https://meilisearch.servbay.host/
, яка дозволяє управляти індексами, тестувати пошукові запити та переглядати стан інстансу.
Передумови
- На вашій системі macOS вже встановлено та запущено ServBay.
- Ви маєте проєкт, до якого хочете додати функцію пошуку.
- Ви розумієте базові концепції пошукового движка (наприклад, індекс Index, документ Document, 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
. Хоча сервіс працює через цей порт, рекомендуємо використовувати для доступу домен, наданий ServBay:https://meilisearch.servbay.host
. - Master Key (Головний ключ): Найважливіший секрет для захисту інстансу Meilisearch. Всі API-запити (створення, оновлення, видалення індексів) мають бути авторизовані цим ключем. Встановіть складний та унікальний ключ й зберігайте його в надійному місці.
- Data Path (Шлях до даних): Локальний шлях для зберігання всіх індексів і файлів бази Meilisearch. За замовчуванням
/Applications/ServBay/data/meilisearch
. Ви можете швидко відкрити цю папку в Finder, натиснувши на значок папки справа. - Runtime Environment (Оточення): Можна вибрати режим
Development
(розробка) абоProduction
(продакшн). РежимDevelopment
надає більш детальні повідомлення про помилки та підказки по API — ідеально для розробки. У режиміProduction
ці деталі вимикаються для підвищення продуктивності. - Log Level (Рівень логування): Визначає деталізацію журналу — можна обрати
INFO
,DEBUG
,WARN
,ERROR
тощо для спрощення відладки.
- Bind IP (Прив’язка IP): IP-адреса, на якій слухає сервіс Meilisearch. За замовчуванням
3. Збереження налаштувань і запуск сервісу
- Після завершення всіх налаштувань натисніть кнопку Зберегти (Save) внизу справа.
- ServBay автоматично застосує ваші зміни й спробує запустити/перезапустити сервіс Meilisearch.
- Переконайтеся, що індикатор навпроти запису Meilisearch зелений — це означає, що сервіс успішно працює.
4. Доступ до веб-панелі Meilisearch
ServBay надає зручний доступ до вбудованої панелі керування Meilisearch:
Спосіб 1 (рекомендовано): У правому верхньому куті сторінки налаштувань Meilisearch натисніть іконку браузера (у вигляді компаса) — ServBay відкриє панель у вашому браузері автоматично.
Спосіб 2: Введіть вручну в адресному рядку браузера:
https://meilisearch.servbay.host/
.
У цій панелі ви можете:
- Створювати та керувати індексами.
- Інтуїтивно тестувати пошукові запити й переглядати результати.
- Перевіряти статус завдань (наприклад, додавання документів, оновлення налаштувань).
- Керувати API-ключами.
5. Інтеграція Meilisearch у ваш застосунок
Для взаємодії з локальним інстансом використовуйте будь-яку офіційну чи спільнотну бібліотеку-клієнт Meilisearch.
Для підключення використовуйте такі параметри:
- Host (Хост):
https://meilisearch.servbay.host
(зhttps://
) - API Key (API-ключ): Ваш
Master Key
, заданий у кроці 2
Приклад PHP-коду (з використанням meilisearch/meilisearch-php
)
Спочатку встановіть бібліотеку у ваш PHP-проєкт:
bash
composer require meilisearch/meilisearch-php
1
Далі підключайтеся та працюйте з Meilisearch у своєму коді:
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)
- Q: Я забув Master Key — що робити?
- A: У панелі налаштувань Meilisearch у ServBay просто введіть новий Master Key і натисніть Зберегти (Save). Сервіс автоматично перезапуститься з новим ключем.
- Q: Сервіс Meilisearch не запускається — як з’ясувати причину?
- A: Спочатку натисніть іконку перегляду журналу у верхньому правому куті налаштувань Meilisearch — у журналу часто міститься чітке повідомлення про помилку. Також перевірте, чи не зайнятий порт
7700
іншими програмами.
- A: Спочатку натисніть іконку перегляду журналу у верхньому правому куті налаштувань Meilisearch — у журналу часто міститься чітке повідомлення про помилку. Також перевірте, чи не зайнятий порт
- Q: Чим відрізняються режими
Development
іProduction
у «Runtime Environment»?- A: У режимі
Development
відповіді API містять детальні відомості та стеки у разі помилки, що зручно для налагодження, але відкриває більше внутрішньої інформації. У режиміProduction
відповіді містять лише загальні помилки — це безпечніше та швидше, рекомендовано для бойового оточення.
- A: У режимі
Підсумок
Тандем ServBay та Meilisearch відкриває для macOS-розробників потужний і плавний досвід локальної розробки пошуку. Спрощений графічний інтерфейс та вбудована веб-панель дозволяють повністю сконцентруватися на розробці основної функції пошуку вашого застосунку, а не на клопотах із конфігурацією середовища.