Ejecuta tu propia instancia
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_IDconfigurado como tu Application ID de Algolia -
API_KEYconfigurada como tu API Key. Asegúrate de usar una clave API con acceso de escritura a tu índice. Requiere los ACLaddObject,editSettingsydeleteIndex.
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.
-
pipenv install -
pipenv shell
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_PATHen 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.
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.