En déployant le plug-in indexeur Cloud Search pour Apache Nutch (robot d'exploration Open Source), vous pouvez proposer du contenu Web à vos utilisateurs via Google Cloud Search.
Lorsque vous lancez l'exploration du Web, Apache Nutch explore le Web et utilise le plug-in indexeur pour importer les versions binaires (ou texte) originales de ces contenus dans l'API Google Cloud Search. L'API Cloud Search indexe alors les contenus et les diffuse à vos utilisateurs.
Remarques importantes
Avant de déployer le plug-in indexeur, tenez compte des points suivants.
Configuration requise
| Configuration requise | |
|---|---|
| Système d'exploitation | Linux uniquement :
|
| Logiciel |
|
| Types de documents Apache Tika | Formats de documents acceptés par Apache Tika 1.18 |
Déployer le plug-in indexeur
Ces étapes décrivent comment installer le plug-in indexeur et configurer ses composants pour explorer les URL et renvoyer les résultats à Cloud Search.
Prérequis
Avant de déployer le plug-in indexeur, rassemblez les informations nécessaires pour connecter Cloud Search et la source de données :
- Clé privée Google Workspace (contenant l'ID du compte de service). Pour savoir comment obtenir une clé privée, consultez Configurer l'accès à l'API Cloud Search.
- ID de la source de données Google Workspace. Pour savoir comment obtenir un ID de source de données, consultez Ajouter une source de données à la recherche.
Étape 1 : Créer et installer le logiciel du plug-in et Apache Nutch
Clonez le dépôt du plug-in indexeur à partir de GitHub.
$ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git $ cd apache-nutch-indexer-plugin
Vérifiez la version du plug-in indexeur que vous souhaitez utiliser :
$ git checkout tags/v1-0.0.5
Créez le plug-in indexeur.
$ mvn package
Pour ignorer les tests lors de la création du plug-in, utilisez
mvn package -DskipTests.Téléchargez Apache Nutch 1.15 et suivez les instructions d'installation d'Apache Nutch.
Extrayez
target/google-cloudsearch-apache-nutch-indexer-plugin-v1.0.0.5.zipdans un dossier. Copiez le dossierplugins/indexer-google-cloudsearchdans le dossierpluginsd'Apache Nutch (apache-nutch-1.15/plugins).
Étape 2 : Configurer le plug-in d'indexation
Pour configurer le plug-in, créez un fichier nommé plugin-configuration.properties.
Le fichier de configuration doit spécifier les paramètres suivants pour accéder à la source de données Cloud Search.
| Paramètre | Paramètre |
| ID de la source de données | api.sourceId = 1234567890abcdef
Obligatoire. ID de la source Cloud Search configuré par l'administrateur Google Workspace pour le plug-in indexeur. |
| Compte de service | api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Obligatoire. Fichier contenant la clé du compte de service Cloud Search créé par l'administrateur Google Workspace pour assurer l'accessibilité du plug-in indexeur. |
L'exemple suivant présente un exemple de fichier de configuration :
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
Le fichier de configuration peut également contenir des paramètres qui contrôlent le comportement du plug-in, par exemple la manière dont il transmet les données à l'API Cloud Search et dont il insère les métadonnées et les données structurées. Pour obtenir une description de ces paramètres, consultez Paramètres de connecteur fournis par Google.
Étape 3 : Configurer Apache Nutch
Ouvrez
conf/nutch-site.xmlet ajoutez les paramètres suivants :Paramètre Paramètre Propriété "plugin.includes" plugin.includes = textObligatoire. Liste des plug-ins à utiliser. Cette liste doit inclure au moins les éléments suivants :
- index-basic
- index-more
- indexer-google-cloudsearch
conf/nutch-default.xmlfournit une valeur par défaut, mais vous devez y ajouter manuellementindexer-google-cloudsearch.Noms des balises Meta metatags.names = textFacultatif. Liste de tags séparés par une virgule associés à des propriétés du schéma de la source de données correspondante. Pour en savoir plus, consultez Nutch-parse metatags.
L'exemple suivant montre la modification à apporter dans le fichier
nutch-site.xml:<property> <name>plugin.includes</name> <value>protocol-(http|httpclient)|urlfilter-regex|index-(basic|more|metadata)|query-(basic|site|url|lang)|indexer-google-cloudsearch|nutch-extensionpoints|parse-(text|html|msexcel|msword|mspowerpoint|pdf|metatags)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-(html|tika|metatags)|index-(basic|anchor|more|metadata)</value> </property>Ouvrez
conf/index-writers.xmlet ajoutez la section suivante :<writer id="indexer_google_cloud_search_1" class="org.apache.nutch.indexwriter.gcs.GoogleCloudSearchIndexWriter"> <parameters> <param name="gcs.config.file" value="path/to/sdk-configuration.properties"/> </parameters> <mapping> <copy /> <rename /> <remove /> </mapping> </writer>La section
<writer>contient les paramètres suivants :Paramètre Paramètre Chemin d'accès au fichier de configuration Cloud Search gcs.config.file = pathObligatoire. Chemin (absolu) complet du fichier de configuration Cloud Search.
Format d'importation gcs.uploadFormat = textFacultatif. Format utilisé par le plug-in pour transmettre le contenu du document à l'API Cloud Search. Les valeurs valides sont les suivantes :
raw: transmet le contenu original, sans conversion.text: transmet le contenu extrait, au format texte. La valeur par défaut estraw.
Étape 4 : Configurer l'exploration du Web
L'exploration du Web doit d'abord être configurée pour n'inclure que les informations que votre organisation souhaite proposer aux utilisateurs. Pour en savoir plus, consultez le tutoriel Nutch.
Configurer les URL de début
Les URL de début indiquent au robot d'exploration Web où commencer l'exploration de votre contenu. Le robot doit pouvoir accéder à l'ensemble du contenu que vous souhaitez inclure en suivant les liens.
Pour configurer les URL de début :
- Accédez au répertoire d'installation de Nutch :
$ cd ~/nutch/apache-nutch-X.Y/
- Créez un répertoire pour les URL :
$ mkdir urls
- Créez un fichier nommé
seed.txtet listez-y une URL par ligne.
- Accédez au répertoire d'installation de Nutch :
Configurer des règles relatives aux URL à suivre et à ne pas suivre
Les règles des URL à suivre définissent les URL que le robot d'exploration indexe. Les règles des URL à ne pas suivre définissent les URL qui ne seront pas explorées.
Pour configurer ces règles, procédez comme suit :
- Accédez au répertoire d'installation de Nutch.
- Modifier
conf/regex-urlfilter.txt:$ nano conf/regex-urlfilter.txt
Utilisez des expressions régulières avec le préfixe "+" ou "-" :
# skip file extensions -\.(gif|GIF|jpg|JPG|png|PNG|ico) # skip protocols (file: ftp: and mailto:) -^(file|ftp|mailto): # allow urls starting with https://support.google.com/gsa/ +^https://support.google.com/gsa/ # accept anything else #+.
Modifiez le script d'exploration.
En l'absence du paramètre
gcs.uploadFormatou si la valeur définie est "raw", vous devez ajouter les arguments-addBinaryContent -base64à la commandenutch index. Ces arguments indiquent au module d'indexation de Nutch d'inclure du contenu binaire en Base64.- Ouvrez le script
crawldansapache-nutch-1.15/bin. Ajoutez les options comme indiqué dans cet exemple :
if $INDEXFLAG; then echo "Indexing $SEGMENT to index" __bin_nutch index $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb -addBinaryContent -base64 -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT echo "Cleaning up index if possible" __bin_nutch clean $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb else echo "Skipping indexing ..."
- Ouvrez le script
Étape 5 : Démarrer l'exploration du Web et importer du contenu
Une fois que vous avez configuré le plug-in indexeur, vous pouvez l'exécuter en mode local. Utilisez les scripts de ./bin pour exécuter une tâche d'exploration.
L'exemple suivant suppose que les composants se trouvent dans le répertoire local. Exécutez Nutch à partir du répertoire apache-nutch-1.15 :
$ bin/crawl -i -s urls/ crawl-test/ 5
Les journaux d'exploration sont disponibles dans le terminal ou dans le répertoire logs/. Pour diriger la sortie de journalisation, modifiez conf/log4j.properties.