La recherche des clients deviendra de plus en plus lente à mesure que le contenu augmente, il est raisonnable de disposer d’un service de recherche à distance pour gérer les demandes de recherche provenant d’un grand site.

Algolia est un service de recherche populaire qui propose un forfait gratuit (10 000 enregistrements, 10 000 requêtes par mois). Après avoir lu cet article, vous apprendrez comment configurer Algolia et télécharger automatiquement les fichiers d’index.

Préparatifs

Tout d’abord, vous devez créer un compte Algolia, puis créer votre application.

Accédez à Présentation > Clés API. La page affiche tout ce dont vous pourriez avoir besoin dans les étapes suivantes, comme l’ID d’application, la clé API de recherche et la clé API d’administrateur.

##Configuration

NomTapezPar défautDescriptif
algoliaObjet-Algolie
algolia.appIdChaîne-Identifiant de l’application
algolia.apiKeyChaîne-Rechercher uniquement la clé API
algolia.indexNameChaîne-Nom de l’index
algolia.paginateNuméro5
algolia.stallThresholdNuméro300Combien de millisecondes doivent s’écouler avant de considérer que l’expérience de saisie semi-automatique est bloquée.

Indice

Créer un index

Accédez à Sources de données > Indices > Créer un index, puis créez votre index, nommons-le prod.

Ajouter des attributs consultables

Une fois l’index créé, nous sommes dans la page d’index.

Accédez à Configuration > Attributs consultables, nous devrons ajouter les attributs title et content.

Télécharger l’index

Une fois le site construit, le fichier d’index Algolia sera généré et enregistré sous /algolia/index.json, c’est-à-dire http://localhost:1313/algolia/index.json.

Télécharger manuellement

Vous pouvez télécharger le fichier d’index manuellement via le tableau de bord Algolia pour le tester.

Outil CLI

J’ai écrit un Outil CLI pour télécharger le fichier d’index, il peut être facilement intégré à vos outils CI & CD.

Action GitHub

J’ai également écrit un Actions GitHub si vous utilisez GitHub pour héberger votre référentiel.

Créez le .github/workflows/algolia.yml sous la racine de votre site avec le contenu suivant.

 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

Ensuite, créez les secrets ALGOLIA_APP_ID et ALGOLIA_API_KEY pour votre référentiel.

ALGOLIA_API_KEY est la clé API admin, pas la clé API de recherche uniquement.

Une fois l’action GitHub créée, le fichier d’index sera automatiquement téléchargé sur git push.