De lokale zoekopdracht wordt langzamer naarmate de inhoud groeit. Het is dan redelijk om een externe zoekservice te gebruiken voor grote sites.
Algolia is een populaire zoekservice met een gratis plan (10.000 records, 10.000 verzoeken per maand). Na het lezen van dit artikel weet je hoe je Algolia configureert en indexbestanden automatisch uploadt.
Voorbereiding
Maak eerst een Algolia-account aan en maak vervolgens je applicatie aan.
Navigeer naar Overzicht > API-sleutels; op deze pagina vind je alles wat je nodig hebt voor de volgende stappen, zoals de applicatie-ID, zoek-API-sleutel en de beheer-API-sleutel.
Configuratie
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
algolia | Object | - | Algolia |
algolia.appId | String | - | App-ID |
algolia.apiKey | String | - | Alleen-zoeken API-sleutel |
algolia.indexName | String | - | Indexnaam |
algolia.paginate | Number | 5 | |
algolia.stallThreshold | Number | 300 | Het aantal milliseconden dat moet verstrijken voordat de autocomplete-ervaring als vastgelopen wordt beschouwd. |
Index
Index Aanmaken
Navigeer naar Gegevensbronnen > Indexen > Index aanmaken en maak je index aan. Geef hem de naam prod.
Doorzoekbare Attributen Toevoegen
Zodra de index is aangemaakt, bevinden we ons op de indexpagina.
Navigeer naar Configuratie > Doorzoekbare attributen en voeg de attributen title en content toe.
Index Uploaden
Na het bouwen van de site wordt het Algolia-indexbestand gegenereerd en opgeslagen als /algolia/index.json, bijv. http://localhost:1313/algolia/index.json.
Handmatig Uploaden
Je kunt het indexbestand handmatig uploaden via het Algolia-dashboard voor testdoeleinden.
CLI-tool
Er is een CLI-tool geschreven voor het uploaden van het indexbestand; deze kan eenvoudig worden geïntegreerd met je CI/CD-tools.
GitHub Action
Er is ook een GitHub Actions beschikbaar als je GitHub gebruikt voor je repository.
Maak .github/workflows/algolia.yml aan in de hoofdmap van je site met de volgende inhoud.
1name: Algolia Index
2
3on:
4 workflow_dispatch:
5 push:
6 branches:
7 - "main"
8
9jobs:
10 index:
11 runs-on: ubuntu-latest
12 steps:
13 - name: Checkout
14 uses: actions/checkout@v3
15 - name: Build & upload Algolia index
16 uses: razonyang/hugo-theme-bootstrap-algolia-action@v0.1.0
17 with:
18 algolia-app-id: ${{ secrets.ALGOLIA_APP_ID }}
19 algolia-api-key: ${{ secrets.ALGOLIA_API_KEY }}
20 algolia-index-name: prod
Maak vervolgens de geheimen ALGOLIA_APP_ID en ALGOLIA_API_KEY aan voor je repository.
ALGOLIA_API_KEYis de beheer-API-sleutel, niet de alleen-zoeken API-sleutel.
Zodra de GitHub Action is aangemaakt, wordt het indexbestand automatisch geüpload bij elke git push.
