Aller au contenu principal
Version : Ancienne (v1.x - v2.x)

Exécutez votre propre instance

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Si vous souhaitez mettre à jour vos résultats avec plus de contrôle, si vous ne respectez pas notre liste de vérification, ou si votre site est derrière un pare-feu, vous pourriez vouloir exécuter vous-même le crawler.

L'entière base de code de DocSearch est open source, et nous l'empaquetons en image Docker pour faciliter son utilisation.

Configurer votre environnement

Vous devrez définir votre ID d'application Algolia et votre clé API admin comme variables d'environnement. Si vous n'avez pas de compte Algolia, vous devez en créer un.

  • APPLICATION_ID configuré avec votre ID d'application Algolia

  • API_KEY configurée avec votre clé API. Assurez-vous d'utiliser une clé API avec un accès en écriture à votre index. Elle nécessite les ACL addObject, editSettings et deleteIndex.

Pour plus de commodité, vous pouvez créer un fichier .env à la racine du dépôt.

APPLICATION_ID=YOUR_APP_ID
API_KEY=YOUR_API_KEY

Exécuter le crawl depuis l'image Docker

Vous pouvez lancer un crawl depuis l'image Docker empaquetée pour explorer votre site. Vous devrez installer jq, un processeur JSON léger en ligne de commande

Vous devez ensuite démarrer le crawl selon votre configuration. Consultez la documentation dédiée à la configuration.

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

Une fois le scraping terminé, vous pouvez passer directement à l'étape d'intégration.

Exécuter le crawler depuis la base de code

Installation

Le scraper est un outil Python basé sur scrapy. Nous recommandons d'utiliser pipenv pour installer l'environnement Python.

Si vous prévoyez d'utiliser l'émulation navigateur (js_render défini sur true), vous devez suivre cette étape supplémentaire. Sinon, vous pouvez l'ignorer.

Installation du ChromeDriver

Certains sites nécessitent du JavaScript pour leur rendu. Notre crawler utilise une émulation Chrome headless. Vous devrez configurer un ChromeDriver.

  • Installez le driver correspondant à votre OS et votre version de Chrome. Nous recommandons la dernière version.

  • Définissez la variable d'environnement CHROMEDRIVER_PATH dans votre fichier .env. Ce chemin doit pointer vers le driver extrait après téléchargement.

Vous êtes prêt.

Exécution du crawler

L'exécution de pipenv shell activera votre environnement virtuel. Depuis celui-ci, vous pouvez lancer un crawl avec la commande suivante :

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

Ou depuis l'image Docker :

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

Ceci démarrera le crawl. Il extrait le contenu des pages analysées et envoie les enregistrements construits vers Algolia.

Créer une nouvelle configuration

Pour créer une configuration, exécutez ./docsearch bootstrap. Un prompt vous demandera des informations et créera une configuration JSON de 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"
}
}
=================

Créez un fichier nommé example.json à partir de ce texte, nous l'utiliserons plus tard pour démarrer le crawl. Vous pouvez consulter la liste des configurations actives.

Tester vos résultats

Testez vos résultats avec ./docsearch playground. Ceci ouvrira une page web avec un champ de recherche pour tester en direct les résultats indexés.

Playground

Notez que si la commande échoue (possible sur des machines non-Mac), vous pouvez obtenir le même résultat en lançant un serveur local dans le sous-répertoire ./playground.`

Intégration

Une fois votre configuration satisfaisante, vous pouvez intégrer le menu déroulant dans votre site en suivant les instructions ici.

La différence est que vous devrez ajouter la clé appId à votre instance docsearch(). N'oubliez pas non plus d'utiliser une clé API de recherche ici (et non la clé API en écriture utilisée pour le crawl).

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
});

Assistance

Exécutez ./docsearch sans argument pour voir la liste des commandes disponibles.

Notez que nous utilisons cet outil en ligne de commande en interne chez Algolia pour la version hébergée gratuite, donc certaines commandes listées pourraient ne pas vous concerner.