Configurare e utilizzare il motore di ricerca Meilisearch in ServBay
Meilisearch è un motore di ricerca open source potente, estremamente veloce e facile da usare, progettato per offrire un’esperienza “search-as-you-type” eccellente. Offre numerose funzionalità tramite una semplice API RESTful. Grazie a ServBay, il deployment di una istanza Meilisearch completamente funzionante sull’ambiente locale macOS non è mai stato così semplice.
Panoramica
ServBay integra Meilisearch nella sua interfaccia grafica, consentendo agli sviluppatori di installare e configurare il motore con un click, senza dover gestire comandi complessi o dipendenze. Inoltre, ServBay configura automaticamente una dashboard web integrata per Meilisearch, accessibile tramite il pratico dominio https://meilisearch.servbay.host/
per gestire gli indici, testare le ricerche e monitorare lo stato dell’istanza.
Prerequisiti
- ServBay è installato e funzionante sul tuo sistema macOS.
- Hai un progetto di sviluppo che necessita di funzionalità di ricerca.
- Conosci i concetti base dei motori di ricerca (come Index, Document, chiavi API).
Procedura
1. Installare il pacchetto Meilisearch
Per prima cosa, è necessario installare Meilisearch tramite il gestore pacchetti di ServBay:
- Apri l’applicazione ServBay.
- Nella barra di navigazione a sinistra, seleziona Pacchetti (Packages).
- Cerca
Ricerca
-Meilisearch
nell’elenco dei pacchetti. - Clicca sul pulsante di installazione accanto a
Meilisearch
e attendi che l’installazione sia completata. - Clicca sul pulsante di attivazione per abilitare il servizio
Meilisearch
.
2. Configurare il servizio Meilisearch
Una volta installato, puoi personalizzare la configurazione di Meilisearch:
Nella barra di navigazione a sinistra di ServBay, clicca su Search.
Dal menu a tendina seleziona Meilisearch per accedere all’interfaccia di configurazione.
Modifica le seguenti impostazioni secondo le tue esigenze:
- Bind IP (Indirizzo IP assegnato): L’indirizzo IP su cui Meilisearch ascolta le richieste. Il valore predefinito
127.0.0.1
limita l’accesso solo al computer locale, rappresentando la scelta più sicura per lo sviluppo. - Port (Porta): La porta su cui è accessibile l’API Meilisearch. Il valore standard è
7700
. Anche se il servizio opera su questa porta, si consiglia vivamente di interagire tramite il dominiohttps://meilisearch.servbay.host
fornito da ServBay. - Master Key (Chiave principale): Questa è la credenziale più importante per la protezione della tua istanza Meilisearch. Tutte le richieste API (comprese creazione, aggiornamento e cancellazione di indici) richiedono questa chiave. Scegli una chiave unica e complessa e conservala con attenzione.
- Data Path (Percorso dati): Il percorso locale dove Meilisearch salva tutti gli indici e i file di database. Il valore predefinito è
/Applications/ServBay/data/meilisearch
. Puoi cliccare sull’icona della cartella per aprire rapidamente la directory in Finder. - Runtime Environment (Ambiente di esecuzione): Puoi scegliere fra
Development
(sviluppo) eProduction
(produzione). La modalitàDevelopment
offre dettagli di errore molto esaustivi e suggerimenti API, ideali per la fase di sviluppo. La modalitàProduction
invece disabilita questi dettagli per migliorare la sicurezza e le prestazioni. - Log Level (Livello di log): Determina la quantità di dettagli nei log. Opzioni disponibili:
INFO
,DEBUG
,WARN
,ERROR
, utili per la diagnostica.
- Bind IP (Indirizzo IP assegnato): L’indirizzo IP su cui Meilisearch ascolta le richieste. Il valore predefinito
3. Salvare la configurazione e avviare il servizio
- Dopo aver completato le modifiche, clicca sul pulsante Salva (Save) in basso a destra.
- ServBay applicherà automaticamente le impostazioni e avvierà/riavvierà il servizio Meilisearch.
- Verifica lo stato del servizio osservando la spia accanto alla voce Meilisearch: il verde indica che tutto è operativo.
4. Accedere alla Web Dashboard di Meilisearch
ServBay mette a disposizione vari modi per accedere al pannello di gestione integrato di Meilisearch:
Metodo 1 (consigliato): Nell’interfaccia di configurazione di Meilisearch, clicca sull’icona del browser (a forma di bussola) in alto a destra: ServBay aprirà automaticamente la dashboard nel browser predefinito.
Metodo 2: Inserisci manualmente l’indirizzo
https://meilisearch.servbay.host/
nella barra degli indirizzi del tuo browser.
Da questa dashboard potrai:
- Creare e gestire gli indici.
- Effettuare test visivi sulle query di ricerca e visualizzare i risultati.
- Monitorare lo stato delle operazioni (aggiunta documenti, aggiornamento impostazioni, ecc).
- Gestire le chiavi API.
5. Integrazione di Meilisearch nella tua applicazione
Puoi utilizzare qualsiasi client ufficiale o di terze parti di Meilisearch per interagire con l’istanza locale.
Per la connessione, utilizza questi dettagli:
- Host:
https://meilisearch.servbay.host
(includerehttps://
) - API Key: la
Master Key
impostata al passo 2
Esempio di codice PHP (utilizzando meilisearch/meilisearch-php
)
Per prima cosa, installa la libreria client nel tuo progetto PHP:
bash
composer require meilisearch/meilisearch-php
1
Poi, collega e usa Meilisearch nel tuo codice:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// Inizializza il client Meilisearch
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // Sostituisci con la tua Master Key
try {
// 1. Crea o recupera un indice
$index = $client->index('movies');
// 2. Aggiungi documenti
$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 "Documenti aggiunti all'indice 'movies'.\n";
// Attendi qualche secondo per consentire l’elaborazione
sleep(1);
// 3. Esegui una ricerca
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "Errore 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
Domande Frequenti (FAQ)
- D: Ho dimenticato la Master Key, cosa posso fare?
- R: Nel pannello di configurazione Meilisearch in ServBay, inserisci una nuova Master Key e clicca su Salva (Save). ServBay riavvierà il servizio e applicherà la nuova chiave.
- D: Il servizio Meilisearch non si avvia, come posso intervenire?
- R: Prima di tutto clicca sull’icona dei log nella configurazione di Meilisearch per consultare i log in tempo reale: quasi sempre troverai una spiegazione dettagliata dell’errore. In secondo luogo, assicurati che la porta locale
7700
non sia già occupata da un altro processo.
- R: Prima di tutto clicca sull’icona dei log nella configurazione di Meilisearch per consultare i log in tempo reale: quasi sempre troverai una spiegazione dettagliata dell’errore. In secondo luogo, assicurati che la porta locale
- D: Qual è la differenza tra
Development
eProduction
nella sezione “Runtime Environment”?- R: In modalità
Development
, le risposte API al verificarsi di un errore includono informazioni di debug molto dettagliate ideali per lo sviluppo, ma che potrebbero esporre dettagli interni. In modalitàProduction
, gli errori vengono restituiti in modo generico, offrendo maggiore sicurezza e prestazioni, rendendolo più adatto per ambienti live o quando non hai bisogno di informazioni di debug dettagliate.
- R: In modalità
Conclusione
La combinazione ServBay e Meilisearch offre a chi sviluppa su macOS un’esperienza locale di sviluppo della ricerca potente, semplice e fluida. Grazie alla gestione semplificata tramite interfaccia grafica e alla dashboard web preconfigurata, puoi concentrarti sulle funzionalità di ricerca della tua applicazione senza perdere tempo in complicate configurazioni ambientali.