Saltar al contenido principal
Versión: Legado (v1.x - v2.x)

Ejecuta tu propia instancia

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Si deseas actualizar tus resultados con mayor control, si no cumples con nuestra lista de verificación, o si tu sitio está detrás de un firewall, quizás quieras ejecutar el crawler tú mismo.

Todo el código base de DocSearch es de código abierto, y lo empaquetamos como imagen Docker para facilitarte su uso.

Configura tu entorno

Necesitarás establecer tu ID de aplicación Algolia y tu clave API de administración como variables de entorno. Si no tienes cuenta en Algolia, debes crear una.

  • APPLICATION_ID configurado como tu Application ID de Algolia

  • API_KEY configurada como tu API Key. Asegúrate de usar una clave API con acceso de escritura a tu índice. Requiere los ACL addObject, editSettings y deleteIndex.

Para mayor comodidad, puedes crear un archivo .env en la raíz del repositorio.

APPLICATION_ID=YOUR_APP_ID
API_KEY=YOUR_API_KEY

Ejecutar el crawler desde la imagen Docker

Puedes ejecutar el crawler desde la imagen Docker empaquetada para rastrear tu sitio web. Necesitarás instalar jq, un procesador JSON ligero para línea de comandos

Luego debes iniciar el crawler según tu configuración. Deberías consultar la documentación de configuración dedicada.

docker run -it --env-file=.env -e "CONFIG=$(cat /path/to/your/config.json | jq -r tostring)" algolia/docsearch-scraper

Una vez finalizado el scraping, puedes saltar al paso de Integración.

Ejecutar el crawler desde el código base

Instalación

El scraper es una herramienta Python basada en scrapy. Recomendamos usar pipenv para instalar el entorno Python.

Si planeas usar la emulación de navegador (js_render configurado a true), debes seguir este paso adicional. Si no, puedes omitirlo.

Instalar ChromeDriver

Algunos sitios web requieren JavaScript para renderizarse. Nuestro crawler depende de una emulación headless de Chrome. Necesitarás configurar ChromeDriver.

  • Instala el driver adecuado para tu SO y versión de Chrome. Recomendamos usar la última versión.

  • Establece la variable de entorno CHROMEDRIVER_PATH en tu archivo .env. Esta ruta debe apuntar al driver descargado y extraído.

Estás listo para comenzar.

Ejecutar el crawler

Ejecutar pipenv shell activará tu entorno virtual. Desde allí, puedes iniciar un crawler con el siguiente comando:

$ ./docsearch run /path/to/your/config.json

O desde la imagen Docker:

$ ./docsearch docker:run /path/to/your/config.json

Esto iniciará el crawler. Extrae contenido de las páginas analizadas y envía los registros construidos a Algolia.

Crear una nueva configuración

Para crear una configuración, ejecuta ./docsearch bootstrap. Un prompt te pedirá información y creará una configuración JSON que podrás usar como base.

$ ./docsearch bootstrap
# Enter your documentation url
start url: http://www.example.com/docs/
# Pick another name, or press enter
index_name is example [enter to confirm]: <Enter>

=================
{
"index_name": "example",
"start_urls": [
"http://www.example.com/docs/"
],
"stop_urls": [],
"selectors": {
"lvl0": "FIXME h1",
"lvl1": "FIXME h2",
"lvl2": "FIXME h3",
"lvl3": "FIXME h4",
"lvl4": "FIXME h5",
"lvl5": "FIXME h6",
"text": "FIXME p, FIXME li"
}
}
=================

Crea un archivo con este texto llamado example.json, lo usaremos más tarde para iniciar el crawler. Puedes explorar la lista de configuraciones activas.

Probar tus resultados

Puedes probar tus resultados ejecutando ./docsearch playground. Esto abrirá una página web con un campo de búsqueda. Podrás hacer pruebas en vivo con los resultados indexados.

Playground

Nota: si el comando falla (puede ocurrir en máquinas no Mac), puedes obtener el mismo resultado ejecutando un servidor local en el subdirectorio ./playground.`

Integración

Una vez que estés satisfecho con tu configuración, puedes integrar el menú desplegable en tu sitio web siguiendo las instrucciones aquí.

La diferencia es que también tendrás que añadir la clave appId a tu instancia de docsearch(). Además, no olvides usar aquí una clave API de búsqueda (es decir, no la clave API de escritura que usaste para el rastreo).

docsearch({
appId: '<APP_ID>', // Add your own Application ID
apiKey: '<API_KEY>', // Set it to your own *search* API key
[] // Other parameters are the same
});

Ayuda

Puedes ejecutar ./docsearch sin argumentos para ver la lista de todos los comandos disponibles.

Ten en cuenta que nosotros usamos esta herramienta de línea de comandos internamente en Algolia para ejecutar la versión alojada gratuita, por lo que es posible que no necesites todos los comandos listados.