Configurare e Utilizzare il Motore di Ricerca Typesense in ServBay
Typesense è un motore di ricerca open source, leggero e ultra veloce in memoria, progettato per offrire un’esperienza di ricerca immediata e a bassa latenza (“search-as-you-type”). È spesso visto come un’alternativa più leggera ad Algolia o Elasticsearch. Con ServBay, puoi facilmente distribuire e gestire un’istanza Typesense pienamente funzionante nella tua ambiente locale macOS, aggiungendo potenti funzionalità di ricerca alle tue applicazioni.
Panoramica
ServBay semplifica enormemente l’installazione e la configurazione di Typesense. Gli sviluppatori possono completare tutte le impostazioni tramite l’interfaccia grafica di ServBay, senza dover usare la riga di comando, e ottenere così un motore di ricerca locale pronto all’uso.
Per rendere l’esperienza di sviluppo ancora più fluida, ServBay configura automaticamente per te un endpoint API HTTPS sicuro e facile da usare per la tua istanza Typesense: https://typesense.servbay.host/
. Questo significa che non dovrai preoccuparti di mappature delle porte o della configurazione dei certificati SSL: potrai semplicemente chiamare le API usando questo dominio direttamente nella tua app.
Prerequisiti
- Il tuo sistema macOS deve avere ServBay installato e attivo.
- Stai sviluppando un progetto che richiede l’integrazione di un motore di ricerca.
- Hai una comprensione di base dei concetti relativi ai motori di ricerca (come Collection/Indici, Documenti, Chiavi API).
Procedura Operativa
1. Installare il Pacchetto Typesense
Per prima cosa, installa il pacchetto Typesense in ServBay:
- Avvia l’applicazione ServBay.
- Nella barra di navigazione a sinistra, clicca su Pacchetti (Packages).
- Nella lista dei pacchetti, trova
Ricerca
-Typesense
. - Clicca il pulsante d’installazione accanto a
Typesense
e attendi il completamento. - Premi il pulsante sulla destra per abilitare il servizio
Typesense
.
2. Configurare il Servizio Typesense
Al termine dell’installazione, effettua la configurazione di base di Typesense:
Nella barra di navigazione a sinistra di ServBay, clicca su Search.
Dal menu a tendina seleziona Typesense per accedere all’interfaccia di configurazione.
Vedrai diverse opzioni di configurazione che puoi modificare secondo necessità o lasciare ai valori di default:
- Bind IP (IP di binding): L’indirizzo IP su cui il servizio Typesense ascolta. Il valore predefinito
127.0.0.1
limita l’accesso al solo computer locale, la scelta più sicura per ambienti di sviluppo. - Porta: La porta di comunicazione sottostante per l’API Typesense. Il valore predefinito è
8108
. Anche se il servizio gira su questa porta, ti consigliamo vivamente di utilizzare il dominiohttps://typesense.servbay.host
offerto da ServBay. - API Key (Chiave API): La chiave usata per autenticare tutte le richieste API. Fondamentale per proteggere i tuoi dati di ricerca! Ricordati di scegliere una chiave forte e unica, e di conservarla in sicurezza.
- Percorso Dati (Data Path): Il percorso locale dove Typesense conserva tutti i dati degli indici e le configurazioni. Il percorso di default è
/Applications/ServBay/data/typesense
. Puoi cliccare l’icona delle cartelle a destra per trovare subito la directory in Finder.
- Bind IP (IP di binding): L’indirizzo IP su cui il servizio Typesense ascolta. Il valore predefinito
3. Salvare le Configurazioni e Avviare il Servizio
- Una volta configurato tutto, clicca sul pulsante Salva (Save) in basso a destra.
- Passa quindi alla lista Pacchetti (Packages), trova
Typesense
e attiva l’interruttore a destra per avviare il servizio. - Se la configurazione è corretta, l’indicatore di stato diventerà verde indicando che Typesense è in funzione.
4. Integrazione di Typesense nella Tua Applicazione
La tua applicazione (che sia JavaScript, PHP, Python, Go ecc.) può connettersi all’istanza Typesense gestita da ServBay tramite qualsiasi client ufficiale o di terze parti.
Usa i parametri endpoint forniti da ServBay:
- Host/Node (Host/Nodo):
typesense.servbay.host
- Porta:
443
(standard HTTPS) - Protocollo:
https
- Chiave API: la chiave API impostata nel passaggio 2
Esempio di Codice JavaScript (utilizzando il client typesense-js
)
Per prima cosa, installa il client Typesense per JavaScript nel tuo progetto:
bash
npm install typesense
# oppure
yarn add typesense
1
2
3
2
3
Poi, inizializza il client e interagisci con Typesense nel tuo codice:
javascript
import Typesense from 'typesense'
// Inizializzazione del client Typesense
// Nota: usiamo il dominio e protocollo sicuro forniti da ServBay
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // Sostituisci con la chiave API impostata in ServBay
connectionTimeoutSeconds: 2
})
// Esempio: creazione di una collection chiamata 'books'
const bookSchema = {
name: 'books',
fields: [
{ name: 'title', type: 'string' },
{ name: 'author', type: 'string', facet: true },
{ name: 'publication_year', type: 'int32', facet: true }
],
default_sorting_field: 'publication_year'
}
async function setupTypesense() {
try {
// Creazione della collection
await client.collections().create(bookSchema);
console.log("Collection 'books' creata con successo.");
// Aggiunta di un documento libro
const bookDocument = {
'title': 'The Hitchhiker\'s Guide to the Galaxy',
'author': 'Douglas Adams',
'publication_year': 1979
};
await client.collections('books').documents().create(bookDocument);
console.log("Documento aggiunto con successo.");
// Esecuzione di una ricerca
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('Risultati della ricerca:', searchResults);
} catch (error) {
console.error('Errore Typesense:', error);
}
}
setupTypesense();
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Domande Frequenti (FAQ)
- D: Ho dimenticato la mia API Key. Come la reimposto?
- R: Reimpostarla in ServBay è facilissimo: nel pannello di configurazione Typesense (
Search
->Typesense
), inserisci una nuova chiave nel campoAPI Key
, clicca su Salva (Save) e poi riavvia il servizio Typesense.
- R: Reimpostarla in ServBay è facilissimo: nel pannello di configurazione Typesense (
- D: Typesense non si avvia. Cosa posso fare?
- R: Controlla quanto segue:
- Clicca l’icona dei log in alto a destra nella schermata di configurazione per vedere eventuali errori dettagliati.
- Verifica che la porta locale
8108
non sia già occupata da un altro programma. - Controlla che la directory indicata come
Percorso Dati
esista e che ServBay abbia i permessi di lettura e scrittura.
- R: Controlla quanto segue:
- D: Posso accedere direttamente all’API tramite
http://127.0.0.1:8108
?- R: Sì, è accessibile localmente. Tuttavia, si consiglia caldamente di usare la connessione
https://typesense.servbay.host/
: offre cifratura HTTPS senza configurazioni extra, assomiglia all’ambiente di produzione e offre maggiore sicurezza.
- R: Sì, è accessibile localmente. Tuttavia, si consiglia caldamente di usare la connessione
Conclusioni
ServBay integra perfettamente il potente motore di ricerca Typesense nel tuo workflow locale di sviluppo macOS. Grazie alla configurazione semplificata tramite interfaccia grafica e all’endpoint HTTPS sicuro preconfigurato, puoi dedicarti a sviluppare esperienze di ricerca eccellenti senza perdere tempo nelle complicazioni tecniche di configurazione e manutenzione dell’ambiente.