Konfiguracja i korzystanie z silnika wyszukiwania Meilisearch w ServBay
Meilisearch to wydajny, niezwykle szybki i łatwy w użyciu otwartoźródłowy silnik wyszukiwania, zaprojektowany do oferowania doskonałego doświadczenia „wyszukiwania podczas pisania”. Oferuje bogate możliwości za pośrednictwem prostego RESTful API. Dzięki ServBay wdrożenie w pełni funkcjonalnej instancji Meilisearch w lokalnym środowisku macOS jest łatwiejsze niż kiedykolwiek.
Przegląd
ServBay integruje Meilisearch w graficznym panelu zarządzania, umożliwiając programistom jednoczesną instalację i konfigurację bez konieczności używania skomplikowanej linii poleceń czy ręcznego rozwiązywania zależności. ServBay automatycznie konfiguruje również wbudowany webowy pulpit nawigacyjny Meilisearch, dostępny pod przyjaznym adresem https://meilisearch.servbay.host/
, gdzie można zarządzać indeksami, testować wyszukiwanie i monitorować status instancji.
Wymagania wstępne
- ServBay jest zainstalowany i uruchomiony na Twoim systemie macOS.
- Masz projekt programistyczny, do którego chcesz dodać funkcję wyszukiwania.
- Podstawowa znajomość pojęć związanych z silnikami wyszukiwania (takich jak index, dokumenty, klucze API).
Kroki postępowania
1. Instalacja pakietu Meilisearch
Najpierw musisz zainstalować Meilisearch z menedżera pakietów ServBay:
- Otwórz aplikację ServBay.
- Z menu po lewej stronie wybierz Pakiety (Packages).
- Wyszukaj w liście pakietów sekcję
Wyszukiwanie
-Meilisearch
. - Kliknij przycisk instalacji obok
Meilisearch
i poczekaj na zakończenie procesu. - Następnie kliknij „Włącz”, aby uruchomić usługę
Meilisearch
.
2. Konfiguracja usługi Meilisearch
Po zainstalowaniu możesz przejść do szczegółowej konfiguracji Meilisearch:
W lewej nawigacji ServBay kliknij Search.
W rozwijanym menu wybierz Meilisearch, aby przejść do ekranu konfiguracji.
Dostosuj poniższe ustawienia według swoich potrzeb:
- Bind IP (adres IP): Adres IP, na którym Meilisearch nasłuchuje. Domyślnie
127.0.0.1
, co oznacza, że usługa jest dostępna tylko lokalnie, co jest najlepszą praktyką bezpieczeństwa dla środowiska deweloperskiego. - Port: Port, na którym Meilisearch nasłuchuje żądań API – domyślnie
7700
. Choć usługa działa na tym porcie, zalecamy korzystać z pośrednictwa ServBay poprzez domenęhttps://meilisearch.servbay.host
. - Master Key (główny klucz): Najważniejsze zabezpieczenie instancji Meilisearch. Każde żądanie API (tworzenie, aktualizacja, usuwanie indeksów) wymaga autoryzacji za pomocą tego klucza. Ustaw silny, unikalny klucz i przechowuj go bezpiecznie.
- Data Path (ścieżka danych): Lokalizacja przechowywania wszystkich indeksów i plików bazy danych. Domyślna ścieżka to
/Applications/ServBay/data/meilisearch
. Kliknij ikonę folderu z prawej, by szybko otworzyć ją w Finderze. - Runtime Environment (środowisko uruchomieniowe): Wybierz
Development
(deweloperskie) lubProduction
(produkcyjne). TrybDevelopment
oferuje szczegółowe błędy i podpowiedzi API, optymalne na etapie wdrażania. Tryb produkcyjny ukrywa szczegóły błędów dla lepszej wydajności i bezpieczeństwa. - Log Level (poziom logów): Określa poziom szczegółowości logów:
INFO
,DEBUG
,WARN
,ERROR
. Pomaga podczas debugowania.
- Bind IP (adres IP): Adres IP, na którym Meilisearch nasłuchuje. Domyślnie
3. Zapisz ustawienia i uruchom usługę
- Po wprowadzeniu zmian kliknij przycisk Save (Zapisz) w prawym dolnym rogu.
- ServBay automatycznie zastosuje Twoje ustawienia i spróbuje uruchomić/zrestartować usługę Meilisearch.
- Sprawdź sygnalizator stanu przy nazwie Meilisearch – kolor zielony oznacza poprawne działanie usługi.
4. Dostęp do webowego panelu administracyjnego Meilisearch
ServBay zapewnia szybki dostęp do panelu admina Meilisearch:
Sposób pierwszy (zalecany): W prawym górnym rogu ekranu konfiguracji Meilisearch kliknij ikonę przeglądarki (kształt kompasu) – ServBay otworzy panel w domyślnej przeglądarce.
Alternatywnie: Samodzielnie wpisz w pasku adresu przeglądarki
https://meilisearch.servbay.host/
.
W tym panelu możesz:
- Tworzyć i zarządzać indeksami.
- Testować wyszukiwanie i przeglądać rezultaty.
- Przeglądać statusy zadań (dodawanie dokumentów, aktualizacje ustawień itp.).
- Zarządzać kluczami API.
5. Integracja Meilisearch w swojej aplikacji
Możesz korzystać z dowolnej oficjalnej lub społecznościowej biblioteki klienta Meilisearch, aby połączyć się z lokalną instancją.
Do połączenia użyj poniższych danych:
- Host:
https://meilisearch.servbay.host
(wraz zhttps://
) - API Key: Ustawiony w kroku 2
Master Key
Przykład kodu w PHP (z użyciem meilisearch/meilisearch-php
)
Najpierw zainstaluj klienta w swoim projekcie PHP:
bash
composer require meilisearch/meilisearch-php
1
Teraz połącz się i wykonaj podstawowe operacje:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// Inicjalizacja klienta Meilisearch
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // Zamień na swój własny Master Key
try {
// 1. Utwórz lub pobierz indeks
$index = $client->index('movies');
// 2. Dodaj dokumenty
$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 "Dokumenty zostały dodane do indeksu 'movies'.\n";
// Poczekaj chwilę aż Meilisearch przetworzy zadanie
sleep(1);
// 3. Wyszukiwanie
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "Błąd 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
Często zadawane pytania (FAQ)
- Q: Zapomniałem Master Key. Co zrobić?
- A: W panelu konfiguracji Meilisearch w ServBay możesz wprowadzić nowy Master Key i kliknąć Save (Zapisz). ServBay ponownie uruchomi usługę z nowym kluczem.
- Q: Meilisearch nie uruchamia się – jak zdiagnozować problem?
- A: Najpierw kliknij ikonę logów w prawym górnym rogu panelu konfiguracji Meilisearch i przejrzyj aktywne logi – często zawierają one powód błędu. Sprawdź też, czy port
7700
nie jest zajęty przez inną aplikację.
- A: Najpierw kliknij ikonę logów w prawym górnym rogu panelu konfiguracji Meilisearch i przejrzyj aktywne logi – często zawierają one powód błędu. Sprawdź też, czy port
- Q: Jaka jest różnica między trybem „Development” a „Production” w „Runtime Environment”?
- A: Tryb
Development
zwraca szczegółowe informacje o błędach w odpowiedziach API (przydatne podczas debugu), ale może ujawniać wewnętrzne szczegóły. TrybProduction
ogranicza informacje o błędach, jest bezpieczniejszy i optymalizuje wydajność – zalecany do środowisk produkcyjnych i gdy nie potrzebujesz szczegółowych opisów błędów.
- A: Tryb
Podsumowanie
Połączenie ServBay i Meilisearch zapewnia deweloperom macOS potężne, płynne środowisko do rozwoju lokalnych opcji wyszukiwania. Dzięki łatwemu, graficznemu zarządzaniu i gotowemu panelowi webowemu możesz skupić się na budowie kluczowych funkcji wyszukiwania w swojej aplikacji – bez zbędnych komplikacji konfiguracji środowiska.