Déployer un plug-in indexeur pour Norconex HTTP Collector

Ce guide est destiné aux administrateurs du plug-in indexeur pour Norconex HTTP Collector de Google Cloud Search, c'est-à-dire à toute personne chargée du téléchargement, du déploiement, de la configuration et de la maintenance de ce plug-in. Il nécessite de connaître les systèmes d'exploitation Linux, les principes de base de l'exploration du Web, le langage XML ainsi que Norconex HTTP Collector.

Ce guide contient des instructions permettant de réaliser les principales tâches associées au déploiement du plug-in d'indexation:

  • Télécharger le logiciel du plug-in d'indexation
  • Configurer Google Cloud Search
  • Configurer Norconex HTTP Collector et l'exploration du Web
  • Démarrer l'exploration du Web et importer du contenu

Ce guide ne fournit pas d'informations sur les tâches que l'administrateur Google Workspace doit effectuer pour mapper Google Cloud Search sur le plug-in indexeur pour Norconex HTTP Collector. Pour en savoir plus sur ces tâches, consultez l'article Gérer les sources de données tierces.

Présentation du plug-in indexeur pour Norconex HTTP Collector de Cloud Search

Par défaut, Cloud Search peut explorer, indexer et diffuser du contenu à partir de produits Google Workspace (Google Docs, Gmail, etc.). En déployant le plug-in indexeur pour Norconex HTTP Collector, un robot d'exploration d'entreprise Open Source, vous pouvez également proposer du contenu Web à vos utilisateurs via Google Cloud Search.

Fichiers de propriétés de configuration

Pour pouvoir explorer le Web et importer du contenu dans l'API d'indexation, le plug-in indexeur aura besoin d'informations spécifiques. En tant qu'administrateur du plug-in, il vous appartient de lui transmettre ces informations lors des étapes de configuration décrites dans ce document (à la section Procédure de déploiement).

Pour utiliser le plug-in indexeur, vous devez définir des propriétés dans deux fichiers de configuration:

  • {gcs-crawl-config.xml} : contient les paramètres de Norconex HTTP Collector.
  • sdk-configuration.properties : contient les paramètres de Google Cloud Search.

Ces propriétés permettent au plug-in indexeur de Google Cloud Search et à Norconex HTTP Collector de communiquer entre eux.

Exploration du Web et importation de contenu

Une fois les fichiers de configuration renseignés, vous disposez des paramètres nécessaires pour démarrer l'exploration du Web. Norconex HTTP Collector explore le Web, détecte le contenu des documents correspondant à sa configuration, puis importe les versions binaires (ou texte) originales de ces contenus dans l'API d'indexation de Cloud Search. Cette API indexe alors les contenus et les diffuse à vos utilisateurs.

Système d'exploitation compatible

Le plug-in indexeur pour Norconex HTTP Collector de Google Cloud Search doit être installé sur Linux.

Version de Norconex HTTP Collector compatible

Le plug-in indexeur est compatible avec Norconex HTTP Collector 2.8.0.

Compatibilité avec les LCA

Le plug-in d'indexation permet de contrôler l'accès des utilisateurs aux documents du domaine Google Workspace à l'aide de listes de contrôle d'accès (LCA).

Si les LCA par défaut sont activées dans la configuration du plug-in Google Cloud Search (defaultAcl.mode défini sur une valeur autre que none et configuré avec defaultAcl.*), le plug-in indexeur essaie d'abord de créer une LCA par défaut et de l'appliquer.

Si les LCA ne sont pas activées, le plug-in accorde une autorisation de lecture pour l'ensemble du domaine Google Workspace.

Pour obtenir une description détaillée des paramètres de configuration des LCA, consultez l'article Paramètres de connecteur fournis par Google.

Prérequis

Avant de déployer le plug-in indexeur, assurez-vous que vous disposez de la configuration requise suivante:

  • Java JRE 1.8 installé sur un ordinateur qui exécute le plug-in indexeur
  • Informations Google Workspace requises pour établir des relations entre Cloud Search et Norconex HTTP Collector:

    L'administrateur Google Workspace du domaine est généralement en mesure de vous fournir ces identifiants.

Procédure de déploiement

Pour déployer le plug-in d'indexation, procédez comme suit:

  1. Installer Norconex HTTP Collector et le logiciel du plug-in indexeur
  2. Configurer Google Cloud Search
  3. Configurer Norconex HTTP Collector
  4. Configurer l'exploration du Web
  5. Démarrer l'exploration du Web et importer du contenu

Étape 1: Installer Norconex HTTP Collector et le logiciel du plug-in indexeur

  1. Téléchargez le logiciel de validation de Norconex à partir de cette page.
  2. Décompressez le logiciel téléchargé dans le dossier ~/norconex/.
  3. Clonez le plug-in de validation à partir de GitHub. git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git puis cd norconex-committer-plugin
  4. Vérifiez la version souhaitée du plug-in de validation et créez le fichier ZIP : git checkout tags/v1-0.0.3 et mvn package (pour ignorer les tests lors de la création du connecteur, utilisez mvn package -DskipTests).
  5. cd target
  6. Copiez le fichier .jar du plug-in créé dans le répertoire lib norconex. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. Extrayez le contenu du fichier ZIP que vous venez de créer, puis décompressez le fichier: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip.
  8. Exécutez le script d'installation pour copier le fichier .jar du plug-in et les bibliothèques requises dans le répertoire de HTTP Collector :
    1. Accédez au dossier du plug-in de validation que vous avez précédemment décompressé: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. Exécutez $ sh install.sh et indiquez le chemin d'accès complet à norconex/norconex-collector-http-{version}/lib comme répertoire cible lorsque vous y êtes invité.
    3. Si des fichiers .jar en double sont détectés, sélectionnez l'option 1 (Copier le fichier .jar source uniquement si sa version est supérieure ou identique au fichier .jar cible une fois celui-ci renommé).

Étape 2: Configurer Google Cloud Search

Pour que le plug-in indexeur puisse se connecter à Norconex HTTP Collector et indexer des contenus pertinents, vous devez créer le fichier de configuration Cloud Search dans le répertoire Norconex où est installé HTTP Collector. Google vous recommande de nommer ce fichier sdk-configuration.properties.

Le fichier de configuration doit contenir des paires clé/valeur qui définissent un paramètre. Il doit inclure au minimum les paramètres suivants, indispensables 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.
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 fichier sdk-configuration.properties.

#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#

Le fichier de configuration peut également contenir des paramètres de configuration fournis par Google. Ces paramètres peuvent affecter la manière dont le plug-in transmet les données à l'API Google Cloud Search. Par exemple, l'ensemble de paramètres batch.* identifie la manière dont le connecteur combine les requêtes.

Un paramètre non défini dans le fichier de configuration se voit automatiquement attribuer la valeur par défaut correspondante (si disponible). Pour obtenir une description détaillée de chaque paramètre, consultez l'article Paramètres de connecteur fournis par Google.

Vous pouvez configurer le plug-in d'indexation pour qu'il insère les métadonnées et les données structurées du contenu indexé. Ces valeurs peuvent être extraites des balises Meta incluses dans le contenu HTML indexé, ou des valeurs par défaut peuvent être définies dans le fichier de configuration.

Paramètre Paramètre
Titre itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Par défaut, le plug-in utilise la valeur HTML title comme titre du document indexé. En l'absence de titre, vous pouvez faire référence à l'attribut de métadonnées qui contient la valeur correspondant au titre du document, ou bien définir une valeur par défaut.
Code temporel de création itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Attribut de métadonnées qui contient la valeur du code temporel de création du document.
Date et heure de la dernière modification itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Attribut de métadonnées qui contient la date et l'heure de la dernière modification du document.
Langue du document itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Langue du contenu des documents indexés.
Type d'objet du schéma itemMetadata.objectType=movie
Type d'objet utilisé par le site, tel qu'indiqué dans les définitions d'objet de schéma des sources de données. Lorsque cette propriété n'est pas définie, le connecteur n'indexe aucune donnée structurée.

Remarque: Cette propriété de configuration renvoie à une valeur plutôt qu'à un attribut de métadonnées, et les suffixes .field et .defaultValue ne sont pas compatibles.

Formats de date et d'heure

Les formats de date et d'heure spécifient les formats attendus dans les attributs de métadonnées. Si le fichier de configuration ne contient pas ce paramètre, des valeurs par défaut sont utilisées. Le tableau suivant présente ce paramètre.

Paramètre

Paramètre

Autres formats de date et d'heure

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

Liste de formats java.time.format.DateTimeFormatter supplémentaires séparés par un point-virgule. Ces formats permettront d'analyser les valeurs de chaîne de tous les champs de date, ou de date et d'heure, contenus dans les métadonnées ou dans le schéma. La valeur par défaut est une liste vide, mais les formats RFC 3339 et RFC 1123 sont toujours acceptés.

Étape 3: Configurer Norconex HTTP Collector

Le fichier zip d'archive norconex-committer-google-cloud-search-{version}.zip inclut un exemple de fichier de configuration (minimum-config.xml).

Google vous recommande de commencer par copier le fichier d'exemple:

  1. Accédez au répertoire Norconex HTTP Collector:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. Copiez le fichier de configuration:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. Modifiez le fichier nouvellement créé (gcs-crawl-config.xml, dans cet exemple), puis ajoutez ou remplacez les nœuds <committer> et <tagger>, tel que décrit dans le tableau suivant.
Paramètre Paramètre
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

Obligatoire. Pour activer le plug-in, vous devez ajouter un nœud <committer> en tant qu'enfant du nœud <httpcollector> racine.
<UploadFormat> <uploadFormat>raw</uploadFormat>
Facultatif. Format dans lequel le plug-in d'indexation transmet le contenu du document à l'API d'indexation de Google Cloud Search. Les valeurs valides sont les suivantes:
  • raw: le plug-in d'indexation transmet le contenu original du document, sans conversion.
  • text: le plug-in d'indexation transmet le contenu extrait, au format texte.

La valeur par défaut est raw.
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
Obligatoire si <UploadFormat> a la valeur raw. Dans ce cas, le champ du contenu binaire du document doit être disponible.

Vous devez ajouter le nœud BinaryContentTagger <tagger> en tant qu'élément enfant du nœud <importer> / <preParseHandlers>.

L'exemple suivant montre la modification à apporter dans le fichier gcs-crawl-config.xml.

<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
    <configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
    
    <uploadFormat>raw</uploadFormat>
</committer>
<importer>
  <preParseHandlers>
    <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
  </preParseHandlers>
</importer>

É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 dans les résultats de recherche. Les paramètres les plus importants pour cette opération figurent dans le ou les nœuds <crawler>. Il peut s'agir des paramètres suivants:

  • URL de démarrage
  • Profondeur maximale de l'exploration
  • Nombre de threads

Modifiez ces valeurs de configuration en fonction de vos besoins. Pour en savoir plus sur la configuration d'une exploration du Web ou pour obtenir la liste complète des paramètres de configuration disponibles, consultez la page Configuration de HTTP Collector.

Étape 5: Démarrer l'exploration du Web et importer du contenu

Une fois que vous avez installé et configuré le plug-in d'indexation, vous pouvez l'exécuter de façon autonome en mode local.

L'exemple suivant suppose que les composants requis se trouvent dans le répertoire local d'un système Linux. Exécutez la commande suivante :

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

Surveiller le robot d'exploration avec JEF Monitor

Norconex JEF (Job Execution Framework) Monitor est un outil graphique qui permet de surveiller l'avancement des processus et des tâches du robot d'exploration de Norconex (HTTP Collector). La page Monitor your crawler's progress with JEF Monitor (en anglais) contient un tutoriel complet sur la configuration de cet utilitaire.