La búsqueda del cliente será cada vez más lenta a medida que crezca el contenido; es razonable tener un servicio de búsqueda remota para manejar las solicitudes de búsqueda de un sitio grande.

Algolia es un servicio de búsqueda popular que ofrece un plan gratuito (10.000 registros, 10.000 solicitudes por mes). Después de leer este artículo, aprenderá cómo configurar Algolia y cargar archivos de índice automáticamente.

Preparativos

En primer lugar, debe crear una cuenta de Algolia y luego crear su aplicación.

Navegue hasta Descripción general > Claves API, la página muestra todo lo que pueda necesitar en los pasos restantes, como el ID de la aplicación, la clave API de búsqueda y la clave API de administrador.

Configuración

NombreTipoPredeterminadoDescripción
algoliaObjeto-Algolia
algolia.appIdCadena-ID de aplicación
algolia.apiKeyCadena-Buscar solo clave API
algolia.indexNameCadena-Nombre del índice
algolia.paginateNúmero5
algolia.stallThresholdNúmero300Cuántos milisegundos deben transcurrir antes de que la experiencia de autocompletar se considere detenida.

Índice

Crear índice

Navegue hasta Fuentes de datos > Índices > Crear índice y luego cree su índice, llamémoslo prod.

Agregar atributos de búsqueda

Una vez creado el índice, estamos en la página de índice.

Navegue hasta Configuración > Atributos buscables, necesitaremos agregar los atributos title y content.

Subir índice

Una vez creado el sitio, el archivo de índice de Algolia se generará y guardará como /algolia/index.json, es decir, http://localhost:1313/algolia/index.json.

Cargar manualmente

Puede cargar el archivo de índice manualmente a través del panel de Algolia para realizar pruebas.

Herramienta CLI

Escribí un herramienta CLI para cargar el archivo de índice, se puede integrar fácilmente con sus herramientas de CI y CD.

Acción de GitHub

También escribí un Acciones de GitHub si estás usando GitHub para alojar tu repositorio.

Cree .github/workflows/algolia.yml en la raíz de su sitio con el siguiente contenido.

 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

Y luego cree los secretos ALGOLIA_APP_ID y ALGOLIA_API_KEY para su repositorio.

ALGOLIA_API_KEY es la clave API admin, no clave API de búsqueda únicamente.

Una vez creada la acción de GitHub, el archivo de índice se cargará automáticamente en git push.