Typesense Zoekmachine configureren en gebruiken in ServBay
Typesense is een open source, lichtgewicht en razendsnelle in-memory zoekmachine, speciaal ontworpen voor een zoekervaring met lage vertraging (“search-as-you-type”). Het wordt vaak gezien als een lichtgewicht alternatief voor Algolia of Elasticsearch. Met ServBay kun je eenvoudig een volledige Typesense-instantie opzetten en beheren binnen je lokale macOS omgeving, waarmee je krachtige zoekfunctionaliteit aan je applicaties toevoegt.
Overzicht
ServBay vereenvoudigt het installatie- en configuratieproces van Typesense enorm. Als ontwikkelaar kun je alle instellingen uitvoeren via de grafische interface van ServBay, zonder ingewikkelde commandoregel-opdrachten, en beschik je direct over een kant-en-klare lokale zoekservice.
Om je ontwikkelervaring verder te optimaliseren, configureert ServBay automatisch een veilige en toegankelijke HTTPS API-endpoint voor jouw Typesense-instantie: https://typesense.servbay.host/
. Dit betekent dat je je geen zorgen hoeft te maken over poortkoppelingen of SSL-certificaten; gebruik gewoon deze domeinnaam in je applicatie voor API-aanroepen.
Vereisten
- Je macOS-systeem heeft ServBay geïnstalleerd en draait correct.
- Je werkt aan een project waarin je zoekfunctionaliteit wilt integreren.
- Je hebt basiskennis van zoekmachineconcepten zoals collecties/indices (Collection), documenten (Document), en API-keys.
Stappenplan
1. Typesense pakket installeren
Allereerst dien je het Typesense-pakket in ServBay te installeren:
- Open de ServBay-applicatie.
- Klik in de linker zijbalk op Pakketten (Packages).
- Zoek in de lijst naar
Zoeken
-Typesense
. - Klik op de installatieknop rechts van
Typesense
en wacht tot de installatie is voltooid. - Zet de schakelaar rechts aan om de
Typesense
-service te activeren.
2. Typesense service configureren
Na de installatie moet je enkele basisinstellingen voor Typesense uitvoeren:
Klik in de linker navigatiebalk van ServBay op Search.
Selecteer Typesense in het dropdownmenu om naar het configuratiescherm te gaan.
Je ziet de volgende configuratie-opties, die je desgewenst kunt aanpassen of op de standaardwaarden laten staan:
- Bind IP (Gebonden IP): Het IP-adres waarop de Typesense-service luistert. Standaard is dit
127.0.0.1
, waardoor het alleen lokaal toegankelijk is—de veiligste optie voor ontwikkelomgevingen. - Port (Poort): De onderliggende poort voor communicatie met de Typesense API. Standaard is dit
8108
. Hoewel de service via deze poort opereert, raden we sterk aan om de door ServBay aangeleverde domeinnaamhttps://typesense.servbay.host
te gebruiken voor toegang. - API Key (API-sleutel): De sleutel voor authenticatie van alle API-aanvragen. Dit is essentieel voor de veiligheid van jouw zoekdata! Stel altijd een sterke, unieke sleutel in en bewaar deze zorgvuldig.
- Data Path (Datalocatie): Het lokale pad waar Typesense alle indices en configuraties opslaat. Standaard is dit
/Applications/ServBay/data/typesense
. Met het map-icoon aan de rechterkant open je eenvoudig deze map in Finder.
- Bind IP (Gebonden IP): Het IP-adres waarop de Typesense-service luistert. Standaard is dit
3. Configuratie opslaan en service starten
- Na het instellen klik je rechtsonder op de knop Opslaan (Save).
- Ga vervolgens terug naar de Pakketten (Packages)-lijst, zoek
Typesense
op en zet de schakelaar rechts om de service te starten. - Bij correcte configuratie zal het statuslampje groen worden, wat betekent dat Typesense succesvol draait.
4. Typesense integreren in je applicatie
Je applicatie (zoals JavaScript, PHP, Python, Go, etc.) kan via een van de officiële of community Typesense client libraries verbinding maken met de Typesense-installatie in ServBay.
Gebruik hiervoor de volgende door ServBay verstrekte connectiegegevens:
- Host/Node (Host/Node):
typesense.servbay.host
- Port (Poort):
443
(standaard HTTPS-poort) - Protocol (Protocol):
https
- API Key (API-sleutel): De
API Key
die je in stap 2 hebt ingesteld
JavaScript codevoorbeeld (met typesense-js
client)
Installeer eerst de Typesense JavaScript-client in je project:
bash
npm install typesense
# of
yarn add typesense
1
2
3
2
3
Initialiseer daarna de client in je code en begin met interactie:
javascript
import Typesense from 'typesense'
// Initialiseer de Typesense client
// Let op: we gebruiken het door ServBay uitgegeven domein en het beveiligde protocol
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // Vervang door de API Key die je in ServBay hebt ingesteld
connectionTimeoutSeconds: 2
})
// Voorbeeld: maak een collectie 'books' aan
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 {
// Maak collectie aan
await client.collections().create(bookSchema);
console.log("Collectie 'books' succesvol aangemaakt.");
// Voeg een boekdocument toe
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("Document succesvol toegevoegd.");
// Zoekopdracht uitvoeren
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('Zoekresultaten:', searchResults);
} catch (error) {
console.error('Typesense-fout:', 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
Veelgestelde vragen (FAQ)
- Q: Ik ben mijn API Key vergeten, hoe kan ik deze resetten?
- A: In ServBay is resetten eenvoudig. Voer simpelweg een nieuwe sleutel in bij het
API Key
veld in het Typesense-configuratiescherm (Search
->Typesense
), klik op Opslaan (Save), en herstart de Typesense-service.
- A: In ServBay is resetten eenvoudig. Voer simpelweg een nieuwe sleutel in bij het
- Q: Wat als de Typesense-service niet wil starten?
- A: Controleer het volgende:
- Klik op het logboek-icoon rechtsboven in het configuratiescherm van Typesense en bekijk de foutmeldingen; deze geven vaak direct de oorzaak aan.
- Zorg dat poort
8108
niet al door een andere applicatie op je systeem wordt gebruikt. - Controleer of de opgegeven
Data Path
bestaat en of ServBay daar lees- en schrijfrechten heeft.
- A: Controleer het volgende:
- Q: Kan ik direct via
http://127.0.0.1:8108
toegang krijgen tot de API?- A: Ja, die poort is lokaal toegankelijk. Maar we raden aan altijd verbinding te maken via
https://typesense.servbay.host/
voor encryptie zonder extra configuratie; dat is veiliger en meer zoals in productieomgevingen.
- A: Ja, die poort is lokaal toegankelijk. Maar we raden aan altijd verbinding te maken via
Samenvatting
ServBay integreert de krachtige Typesense zoekmachine naadloos in je lokale macOS ontwikkelworkflow. Dankzij de vereenvoudigde grafische configuratie en het vooraf ingestelde, veilige HTTPS-endpoint, kun je je volledig richten op het bouwen van een geweldige zoekervaring – zonder gedoe met installatie en onderhoud van je omgeving.