Da die Client-Suche mit zunehmendem Inhalt immer langsamer wird, ist es sinnvoll, über einen Remote-Suchdienst zu verfügen, um Suchanfragen von einer großen Website zu bearbeiten.

Algolia ist ein beliebter Suchdienst, der einen kostenlosen Plan bietet (10.000 Datensätze, 10.000 Anfragen pro Monat). Nachdem Sie diesen Artikel gelesen haben, erfahren Sie, wie Sie Algolia konfigurieren und Indexdateien automatisch hochladen.

Vorbereitungen

Zuerst müssen Sie ein Algolia-Konto erstellen und dann Ihre Anwendung erstellen.

Navigieren Sie zu Übersicht > API-Schlüssel. Die Seite zeigt alles, was Sie in den restlichen Schritten benötigen, z. B. die Anwendungs-ID, den Such-API-Schlüssel und den Admin-API-Schlüssel.

Konfiguration

NameGeben Sieein StandardBeschreibung
algoliaObjekt-Algolie
algolia.appIdZeichenfolge-App-ID
algolia.apiKeyZeichenfolge-Suche nur nach API-Schlüssel
algolia.indexNameZeichenfolge-Indexname
algolia.paginateNummer5
algolia.stallThresholdNummer300Wie viele Millisekunden müssen vergehen, bevor davon ausgegangen wird, dass die automatische Vervollständigung ins Stocken geraten ist?

Index

Index erstellen

Navigieren Sie zu Datenquellen > Indizes > Index erstellen und erstellen Sie dann Ihren Index. Nennen wir ihn prod.

Durchsuchbare Attribute hinzufügen

Sobald der Index erstellt wurde, befinden wir uns auf der Indexseite.

Navigieren Sie zu Konfiguration > Durchsuchbare Attribute. Wir müssen die Attribute title und content hinzufügen.

Index hochladen

Nach der Erstellung der Site wird die Algolia-Indexdatei generiert und als /algolia/index.json, d. h. http://localhost:1313/algolia/index.json, gespeichert.

Manuell hochladen

Sie können die Indexdatei zum Testen manuell über das Algolia-Dashboard hochladen.

CLI-Tool

Ich habe ein CLI-Tool zum Hochladen der Indexdatei geschrieben, es kann problemlos in Ihre CI- und CD-Tools integriert werden.

GitHub-Aktion

Ich habe auch ein GitHub-Aktionen geschrieben, wenn Sie GitHub zum Hosten Ihres Repositorys verwenden.

Erstellen Sie das .github/workflows/algolia.yml unter Ihrem Site-Root mit dem folgenden Inhalt.

 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

Und erstellen Sie dann die Geheimnisse ALGOLIA_APP_ID und ALGOLIA_API_KEY für Ihr Repository.

ALGOLIA_API_KEY ist der Administrator-API-Schlüssel, nicht der reine Such-API-Schlüssel.

Sobald die GitHub-Aktion erstellt wurde, wird die Indexdatei automatisch auf git push hochgeladen.