Vous pouvez configurer Google Cloud Search de manière à diffuser du contenu Web auprès de vos utilisateurs en déployant le plug-in indexeur de Google Cloud Search pour Apache Nutch, un robot d'exploration Open Source.
Lorsque vous lancez l'exploration, Apache Nutch explore le Web et utilise le plug-in indexeur pour importer les versions binaires (ou texte) originales du contenu du document dans l'API d'indexation Google Cloud Search. L'API d'indexation indexe le contenu et présente les résultats aux utilisateurs.
Remarques importantes
Configuration requise
Configuration requise | |
---|---|
Système d'exploitation | Linux uniquement:
<ph type="x-smartling-placeholder">
|
Logiciel |
|
Types de documents Apache Tika | Formats de documents compatibles avec Apache Tika 1.18 |
Déployer le plug-in indexeur
Les étapes suivantes décrivent comment installer le plug-in indexeur et configurer ses composants pour explorer les URL spécifiées et renvoyer les résultats à Cloud Search.
Prérequis
Avant de déployer le plug-in indexeur pour Apache Nutch de Cloud Search, rassemblez les informations nécessaires pour connecter Google 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 la page Configurer l'accès à l'API Google Cloud Search
- ID de la source de données Google Workspace. Pour savoir comment obtenir un ID de source de données, consultez Ajoutez une source de données pour la recherche.
Étape 1: Créez et installez 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 souhaitée du plug-in indexeur:
$ 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 indexeur, 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.zip
(créé à l'étape 2) dans un dossier. Copiez le dossierplugins/indexer-google-cloudsearch
dans le dossier des plug-ins d'installation d'Apache Nutch (apache-nutch-1.15/plugins
).
Étape 2: Configurer le plug-in indexeur
Pour configurer le plug-in d'indexation pour Apache Nutch, créez un fichier nommé plugin-configuration.properties
.
Le fichier de configuration doit spécifier les paramètres suivants, qui sont nécessaire pour accéder à la source de données Google Cloud Search.
Paramètre | Paramètre |
ID de la source de données | api.sourceId = 1234567890abcdef
Obligatoire. ID de la source Google 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 Google Cloud Search créé par l'administrateur Google Workspace pour assurer l'accessibilité du plug-in indexeur. |
Voici un exemple de fichier de configuration avec les paramètres requis.
#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#
Le fichier de configuration peut également contenir d'autres paramètres qui contrôlent le comportement du plug-in indexeur. Vous pouvez configurer la manière
envoie des données à l'API Cloud Search, defaultAcl.*
et batch.*
. Vous pouvez également configurer la façon dont le plug-in d'indexation renseigne 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: Configurez Apache Nutch
Ouvrez
conf/nutch-site.xml
et ajoutez les paramètres suivants:Paramètre Paramètre Le plug-in inclut plugin.includes = text
Obligatoire. Liste des plug-ins à utiliser. Cette liste doit inclure au moins les éléments suivants:
- index-basic
- CANNOT TRANSLATE
- indexer-google-cloudsearch
conf/nutch-default.xml
fournit une valeur par défaut pour cette propriété, mais vous devez également y ajouter manuellementindexer-google-cloudsearch
.Noms des balises Meta metatags.names = text
Facultatif. Liste de tags (séparés par une virgule) qui correspondent aux propriétés du composant le schéma de la source de données correspondante. Pour en savoir plus sur la configuration d'Apache Nutch pour les balises Meta, accédez à Balises Meta Nutch-parse.
L'exemple suivant montre la modification à apporter à
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.xml
et 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>
<writer> contient les paramètres suivants:
Paramètre Paramètre Chemin d'accès au fichier de configuration de Google Cloud Search gcs.config.file = path
Obligatoire. Chemin d'accès (absolu) complet au fichier de configuration de Google Cloud Search.
Format d'importation gcs.uploadFormat = text
Facultatif. Format dans lequel le plug-in indexeur transmet le contenu du document à l'API d'indexation de Google Cloud Search. Les valeurs valides sont les suivantes :
raw
: le plug-in indexeur transmet le contenu original du document, sans conversion.text
: le plug-in indexeur transmet le contenu extrait, au format texte. La valeur par défaut estraw
.
Étape 4: Configurer l'exploration du Web
Avant de démarrer une exploration du Web, configurez-la de sorte qu'elle n'inclue que les informations que votre organisation souhaite rendre disponibles dans les résultats de recherche. résultats. Cette section fournit un aperçu : pour en savoir plus sur la configuration d'une exploration du Web, consultez Tutoriel Nutch
Configurez les URL de début.
Les URL de début déterminent à quel endroit le robot d'exploration Apache Nutch commence à explorer votre contenus. Les URL de début doivent permettre au robot d'exploration d'accéder à tout le contenu inclure dans une exploration spécifique en suivant les liens. Veuillez indiquer des URL de début.
Pour configurer des URL de début:
Passez au répertoire de travail par le 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.txt
et répertoriez-y les URL, à raison d'une par ligne.
Définissez des règles relatives aux URL à suivre et à ne pas suivre.
Les règles relatives aux URL à suivre déterminent les URL qui sont explorées et incluses dans l'index de Google Cloud Search. Le robot d'exploration du Web vérifie les URL par rapport aux de suivre les règles d'URL. Seules les URL qui correspondent à ces règles sont explorées et indexées.
Les règles des URL à ne pas suivre empêchent l'exploration et l'inclusion des URL dans l'index Google Cloud Search. Si une URL contient un format "Ne pas explorer", le robot d'exploration ne les explore pas.
Pour configurer des règles relatives aux URL à suivre et à ne pas suivre:
Passez au répertoire de travail par le répertoire d'installation de Nutch:
$ cd ~/nutch/apache-nutch-X.Y/
Modifiez
conf/regex-urlfilter.txt
pour modifier les règles des événements à suivre et à ne pas suivre: \$ nano conf/regex-urlfilter.txt
Saisissez des expressions régulières avec "+" ou "-" préfixe à suivre ou à ne pas suivre, comme indiqué dans les les exemples suivants. Les expressions ouvertes sont autorisées.
# 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 # (commented out due to the single url-prefix allowed above) #+.
Modifiez le script d'exploration.
Si le paramètre
gcs.uploadFormat
est manquant ou défini sur "raw", vous devez ajouter "-addBinaryContent -base64
" arguments à transmettre ànutch index
. Ces arguments indiquent au module Nutch Indexer d'inclure du contenu binaire en base64 lorsqu'il appelle le plug-in indexeur. Le script ./bin/explore ne contient pas ces arguments par défaut.- Ouvrez le script
crawl
dansapache-nutch-1.15/bin
. Ajoutez les options
-addBinaryContent -base64
au script, comme dans l'exemple suivant: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émarrez l'exploration du Web et importez du contenu
Après avoir installé et configuré le plug-in indexeur, vous pouvez l'exécuter sur
en mode local. utiliser les scripts de ./bin
pour exécuter une tâche d'exploration ; ou
des commandes Nutch
individuelles.
L'exemple suivant suppose que les composants requis se trouvent dans le répertoire
. À partir du répertoire apache-nutch-1.15
, exécutez Nutch avec la commande suivante:
$ bin/crawl -i -s urls/ crawl-test/ 5
Les journaux d'exploration sont disponibles sur la sortie standard (terminal) ou dans le répertoire logs/
. À
la sortie de journalisation. Pour une journalisation plus détaillée, modifiez
conf/log4j.properties