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 indexeur :

  • Télécharger le logiciel du plug-in indexeur
  • 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 G Suite doit effectuer pour mapper Google Cloud Search sur le plug-in indexeur pour Norconex HTTP Collector. Pour en savoir plus à propos de 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, Google Cloud Search peut explorer, indexer et diffuser du contenu à partir de produits G Suite (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).

L'utilisation du plug-in indexeur nécessite de 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. Cette version de Norconex HTTP Collector est d'ailleurs incluse dans le logiciel du plug-in.

Compatibilité avec les listes de contrôle d'accès

Le plug-in indexeur permet de contrôler l'accès des utilisateurs aux documents du domaine G Suite à 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 tout le domaine G Suite.

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

Conditions préalables

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

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

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

Procédure de déploiement

Pour déployer le plug-in indexeur, suivez les étapes ci-dessous :

  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

Le logiciel du plug-in indexeur de Cloud Search doit être installé sur une machine hôte. Vous le trouverez dans la distribution binaire pré-intégrée suivante :

norconex-committer-google-cloud-search-v1-0.0.2.zip

La distribution binaire comprend également le SDK Connector Google Cloud Search.

Pour installer Norconex HTTP Collector et le plug-in indexeur de Google Cloud Search, procédez comme suit :

  1. Téléchargez le plug-in pour Norconex HTTP Collector dans le répertoire Norconex où est installé HTTP Collector.

  2. Accédez au répertoire Norconex :
    $ cd ~/norconex/norconex-collector-http-{version}/

  3. Décompressez l'archive téléchargée :
    $ unzip norconex-committer-google-cloud-search-v1-0.0.1.zip

  4. Accédez au répertoire norconex-committer-google-cloud-search-{version} :
    $ cd ~/norconex/norconex-collector-http-{version}/ \ norconex-committer-google-cloud-search-v1-0.0.1.zip

  5. 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 :
    $ sh install.sh ~/norconex/norconex-collector-http-{version}/lib

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 valeur/clé qui définissent des paramètres. Il doit inclure au minimum les paramètres suivants, indispensables pour accéder à la source de données Cloud Search.

Élément Paramètre
ID de la source de données api.sourceId = 1234567890abcdef
Obligatoire. ID de la source Cloud Search défini par l'administrateur G Suite.
Compte de service api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Obligatoire. Fichier contenant la clé du compte de service Cloud Search créé par l'administrateur G Suite pour assurer l'accessibilité du plug-in indexeur.

Un exemple de fichier sdk-configuration.properties est fourni ci-après.

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

Le fichier de configuration peut également contenir d'autres paramètres propres à Cloud Search, qui sont susceptibles d'affecter la manière dont le plug-in indexeur transmet les données à l'API Google Cloud Search. Exemple : defaultAcl.* et batch.*

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 indexeur 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.

Élément 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.
Date et heure de création itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Attribut de métadonnées qui contient la date et l'heure 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 de schéma itemMetadata.objectType=movie
Type d'objet utilisé par le site, tel que défini 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 acceptés.

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.

Élément

Paramètre

Autres formats de date et d'heure

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

Liste de formats séparés par un point-virgule (semicolon) répertoriant les formats supplémentaires java.time.format.DateTimeFormatter. Ces formats permettront d'analyser les valeurs de chaîne de tous les champs de date ou de date et d'heure 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.
Élément Paramètre
Nœud Obligatoire. Pour activer le plug-in, vous devez ajouter un nœud en tant qu'enfant du nœud racine.
raw Facultatif. Format dans lequel le plug-in indexeur transmet le contenu du document à l'API d'indexation de Google Cloud Search. Les valeurs suivantes sont valides :
  • 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 est raw.
Nœud BinaryContentTagger \ Obligatoire si a la valeur raw. Dans ce cas, le champ du contenu binaire du document doit être disponible. Vous devez ajouter le nœud BinaryContentTagger en tant qu'élément enfant du nœud / .

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>
    <!-- Optional, value="[raw|text]". Default value: raw -->
    <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 :

  • Les URL de démarrage
  • Le nombre maximal de niveaux explorés
  • Le nombre de fils d'exécution

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 indexeur, vous pouvez l'exécuter de façon autonome en mode local.

L'exemple ci-après part du principe que les composants obligatoires 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.