Het zoeken door de client zal langzamer en langzamer worden naarmate de inhoud groeit. Het is redelijk om een zoekservice op afstand te hebben om zoekopdrachten van een grote site af te handelen.
Algolia is een populaire zoekservice die een gratis abonnement biedt (10.000 records, 10.000 verzoeken per maand). Na het lezen van dit artikel leert u hoe u Algolia configureert en automatisch indexbestanden uploadt.
Voorbereidingen
Eerst moet u een Algolia-account aanmaken en vervolgens uw aanvraag aanmaken.
Navigeer naar Overzicht > API-sleutels. De pagina toont alles wat u mogelijk nodig heeft in de overige stappen, zoals applicatie-ID, zoek-API-sleutel en de beheerder-API-sleutel.
Configuratie
| Naam | Typ | Standaard | Beschrijving |
|---|---|---|---|
algolia | Voorwerp | - | Algolia |
algolia.appId | Tekenreeks | - | App-ID |
algolia.apiKey | Tekenreeks | - | Zoek alleen naar API-sleutel |
algolia.indexName | Tekenreeks | - | Indexnaam |
algolia.paginate | Nummer | 5 | |
algolia.stallThreshold | Nummer | 300 | Hoeveel milliseconden moeten verstrijken voordat de autocomplete-ervaring als vastgelopen wordt beschouwd. |
Index
Index maken
Navigeer naar Gegevensbronnen > Indices > Index maken en maak vervolgens uw index, laten we deze de naam prod geven.
Doorzoekbare attributen toevoegen
Nadat de index is gemaakt, bevinden we ons op de indexpagina.
Navigeer naar Configuratie > Doorzoekbare attributen. We moeten de attributen title en content toevoegen.
Index uploaden
Nadat de site is gebouwd, wordt het Algolia-indexbestand gegenereerd en opgeslagen als /algolia/index.json, d.w.z. http://localhost:1313/algolia/index.json.
Handmatig uploaden
U kunt het indexbestand handmatig uploaden via het Algolia-dashboard om te testen.
CLI-tool
Ik heb een CLI-tool geschreven voor het uploaden van het indexbestand, het kan eenvoudig worden geïntegreerd met uw CI- en CD-tools.
GitHub-actie
Ik heb ook een GitHub-acties geschreven als je GitHub gebruikt om je repository te hosten.
Maak de .github/workflows/algolia.yml onder de hoofdmap van uw 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
En maak vervolgens de ALGOLIA_APP_ID en ALGOLIA_API_KEY geheimen voor uw repository.
ALGOLIA_API_KEYis de admin API-sleutel, niet de API-sleutel voor alleen zoeken.
Zodra de GitHub-actie is gemaakt, wordt het indexbestand automatisch geüpload op git push.
