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-Meilisearchnell’elenco dei pacchetti. - Clicca sul pulsante di installazione accanto a
Meilisearche 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.1limita 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.hostfornito 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àDevelopmentoffre dettagli di errore molto esaustivi e suggerimenti API, ideali per la fase di sviluppo. La modalitàProductioninvece 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 Keyimpostata 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-php1
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
7700non 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
DevelopmenteProductionnella 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.
