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

NaamTypStandaardBeschrijving
algoliaVoorwerp-Algolia
algolia.appIdTekenreeks-App-ID
algolia.apiKeyTekenreeks-Zoek alleen naar API-sleutel
algolia.indexNameTekenreeks-Indexnaam
algolia.paginateNummer5
algolia.stallThresholdNummer300Hoeveel 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_KEY is 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.