IT
Accedi Crea un account

Come configurare Meilisearch su Saplo: motore di ricerca per negozi e siti

Avvia Meilisearch su Saplo, importa i primi documenti e integra la ricerca nel tuo sito. Guida passo passo, Box S a 27 € all'anno.

Grzegorz Kalmus ·

Il cliente digita il nome del prodotto con un errore di battitura e riceve una lista vuota di risultati, anche se il prodotto è presente nel negozio. Un problema simile riguarda la documentazione e cataloghi di contenuti complessi. Meilisearch consente di aggiungere alla propria applicazione una funzione di ricerca tollerante agli errori di battitura. In questa guida ti mostreremo come installare Meilisearch su Saplo, caricare i primi dati ed eseguire una query sul motore di ricerca.

Cos'è Meilisearch e a chi serve

Meilisearch è un motore di ricerca che offre un'API REST. Invi ad esso i dati selezionati e il tuo sito recupera i risultati tramite l'API. È ideale per cataloghi di prodotti, knowledge base o siti con articoli. Puoi trovare una descrizione degli usi sulla pagina di hosting Meilisearch su Saplo.

L'installazione di per sé non collega automaticamente un negozio né crea un modulo di ricerca sul sito. Serve un'integrazione che invii i dati e mostri i risultati. Pianifica inizialmente un piccolo set di dati pubblici, per esempio nomi e descrizioni di alcuni prodotti.

Requisiti e costo dell'hosting

Il piano più economico che soddisfa i requisiti d'installazione è Box S a 27 € all'anno. Questo è il punto di partenza per avviare il servizio; la dimensione dell'indice finale, la frequenza di importazione e le altre applicazioni sul Box influenzano il fabbisogno di risorse. Prima di importare l'intero catalogo, verifica lo spazio disponibile e la memoria.

Prepara un Box attivo, il nome dell'applicazione e un dominio o un sottodominio disponibile *.saploapp.pl. Per i seguenti esempi ti serviranno il terminale Bash e il programma curl sul tuo computer. Non è necessario SSH per il Box: l'installazione si esegue nel pannello, il file di avvio si scarica tramite SFTP e le richieste si inviano tramite HTTPS.

Installazione passo dopo passo

  1. Accedi al pannello Saplo e apri il catalogo delle applicazioni.
  2. Seleziona Meilisearch e avvia la creazione dell'applicazione.
  3. Assegna un nome, per esempio wyszukiwarka, e scegli il Box con risorse disponibili.
  4. Seleziona un dominio o sottodominio. Ricorda di salvare l'indirizzo HTTPS esatto mostrato nel pannello.
  5. Conferma l'installazione. Attendi il completamento e verifica lo stato dell'applicazione e eventuali messaggi.
  6. Connettiti via SFTP utilizzando i dati di accesso del Box. Nel catalogo delle applicazioni cerca e scarica il file MEILISEARCH-SETUP.txt.

L'installer di Saplo avvia Meilisearch in modalità produzione e genera una chiave amministrativa. Il file di avvio contiene l'indirizzo API e questa chiave. La funzione di anteprima integrata, nota dalla modalità sviluppatore, è disabilitata, quindi l'assenza del pannello di login all'indirizzo principale non indica un malfunzionamento.

Primo collegamento e chiave amministrativa

Nel terminale Bash del tuo computer imposta l'indirizzo dal file di avvio, senza la barra finale:

MEILI_URL='https://YOUR-APP-ADDRESS'
curl -sS "$MEILI_URL/health"

La risposta corretta è {"status":"available"}. L'endpoint verifica la disponibilità del motore, come descritto nella documentazione health check. Non conferma però ancora l'importazione corretta dei dati.

Carica la chiave amministrativa senza mostrarla a schermo e senza inserirla nella cronologia dei comandi:

read -r -s -p 'Meilisearch admin key: ' MEILI_ADMIN_KEY
printf '\n'

Incolla il valore dal file di avvio e premi Invio. Questa è la chiave Meilisearch, non la password di Saplo. Usala solo in un ambiente amministrativo sicuro. Non inserirla in JavaScript del sito, repository o screenshot. Le regole per la separazione dei permessi sono descritte nella documentazione delle chiavi Meilisearch.

Aggiunta dei primi documenti

Crea sul tuo computer un file products-demo.json in UTF-8:

[
  {"id": 1, "name": "Ceramic mug", "description": "White coffee mug"},
  {"id": 2, "name": "Glass jug", "description": "Tea jug"}
]

Nello stesso terminale, nella cartella con il file, esegui:

curl -sS -X POST "$MEILI_URL/indexes/products-demo/documents?primaryKey=id" \
  -H "Authorization: Bearer $MEILI_ADMIN_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @products-demo.json

Il campo id identifica il documento. La prima importazione creerà l'indice products-demo. La risposta contiene taskUid, ovvero il numero dell'operazione di indicizzazione. Lo schema di importazione è descritto nella guida ufficiale di avvio rapido di Meilisearch.

Verifica dell'indicizzazione

Accettare la richiesta non significa aver terminato il lavoro. Inserisci il numero ricevuto nel campo taskUid e verifica il compito:

MEILI_TASK_ID='WPISZ_NUMER_TASKUID'
curl -sS "$MEILI_URL/tasks/$MEILI_TASK_ID" \
  -H "Authorization: Bearer $MEILI_ADMIN_KEY"

Attendi status: succeeded. In caso di enqueued o processing, ripeti la verifica dopo un po'. In caso di failed, leggi il campo error e correggi i dati prima di reimportarli. Le informazioni sulla coda sono disponibili nella documentazione dei compiti API.

Chiave separata per la ricerca

Crea una chiave con autorizzazione di ricerca limitata esclusivamente all'indice di esempio:

curl -sS -X POST "$MEILI_URL/keys" \
  -H "Authorization: Bearer $MEILI_ADMIN_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary '{"description":"Search in the public demo catalog","actions":["search"],"indexes":["products-demo"],"expiresAt":null}'

Conserva il valore key dalla risposta. La restrizione a products-demo è voluta: una chiave destinata a un singolo catalogo non dovrebbe concedere l'accesso a tutti gli indici. Questa chiave permette di leggere i risultati della ricerca, quindi nel front-end pubblico usala solo per dati destinati alla pubblicazione. Non inserire in questo indice dati dei clienti o note interne.

Importa la chiave ottenuta e invia la query:

read -r -s -p 'Meilisearch search key: ' MEILI_SEARCH_KEY
printf '\n'
curl -sS -X POST "$MEILI_URL/indexes/products-demo/search" \
  -H "Authorization: Bearer $MEILI_SEARCH_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary '{"q":"mug"}'

Nell'array hits dovrebbe comparire il documento "Ceramiczny kubek". Ripeti il test con la query kubke per verificare la tolleranza agli errori di battitura con le impostazioni predefinite. Al termine, elimina le variabili dal terminale:

unset MEILI_ADMIN_KEY MEILI_SEARCH_KEY

Collegare il proprio sito

Dopo un test riuscito, seleziona i dati che devono finire nell'indice corretto. Decidi quando l'integrazione aggiunge nuovi record, aggiorna quelli modificati e rimuove quelli obsoleti. Prova l'intero ciclo su un solo prodotto prima di procedere con l'importazione completa. Pianifica anche come ricreare l'indice dalla fonte dati.

Il modulo di ricerca dovrebbe usare una chiave separata con autorizzazioni limitate. Per i contenuti che richiedono il login, progetta il controllo degli accessi lato applicazione. Nascondere semplicemente il campo nell'interfaccia non limita l'accesso tramite API.

Domande frequenti

Quanto costa Meilisearch su Saplo?

Il piano più economico che soddisfa i requisiti per l'installazione è Box S a 27 € all'anno. Per database più grandi, verifica l'utilizzo delle risorse durante l'importazione e la ricerca.

Perché non vedo il motore di ricerca sotto il dominio?

L'installazione Saplo funziona in modalità production come API. Inizia da /health, poi esegui importazione e query seguendo la guida. Il modulo per gli utenti va aggiunto nel tuo sito.

Cosa controllare in caso di errore di autorizzazione?

Confronta l'indirizzo API e la chiave con l'installazione corretta. L'intestazione ha la forma Authorization: Bearer .... La chiave con solo il permesso search non serve per importare documenti o gestire chiavi.

Perché non ci sono risultati dopo l'importazione?

Controlla prima lo Stato dell'attività. Poi confronta il nome dell'indice nell'indirizzo della query con quello usato durante l'importazione. Verifica anche che il documento contenga il testo cercato.

Meilisearch scarica automaticamente i prodotti dal negozio?

No. L'installazione avvia il motore di ricerca. La sincronizzazione dei dati e il modulo dei risultati sono gestiti dall'integrazione con il tuo negozio o applicazione.

Apri l'offerta di Meilisearch su Saplo, avvia il servizio e inizia con due documenti di esempio. Quando importazione e ricerca funzionano, collega il tuo catalogo.

  • #Meilisearch
  • #Self-hosting
  • #Guida
  • #Motore di ricerca