Documentation SDX-2 Télécharger Installer Présentation Configuration Indexation Pipeline Original et usage Paramètres Format de sortie Champs SDX Documents attachés Fragmentation Thésaurus Recherche OAI Javadoc Référence API-XSP Migration Schemas Performances | # Utilisation des thésaurus SDX supporte l'utilisation de thésaurus au moment des requêtes de recherche mais aussi au moment de l'indexation. Nous allons ici décrire le support au moment de l'indexation. L'objectif de cette fonctionnalité est de permettre au développeur de demander à SDX d'injecter automatiquement des termes issus du thésaurus dans certaines champs. Cette injection peut être contrôlée de différentes manières, et son succès repose bien sûr sur la présence d'un thésaurus correctement déclaré et indexé pour l'application en cours. ## Configuration du pipeline d'indexation Le pipeline d'indexation doit inclure une étape supplémentaire (en général la dernière) pour que SDX puisse ajouter des termes du thésaurus. En effet, cette fonctionnalité est implémentée comme une transformation qui s'effectue sur le format de sortie du pipeline, en conservant toutes les informations et en ajoutant, si nécessaire, d'autres champs. L'exemple suivant illustre comment configurer un pipeline dont l'indexation sera assurée par une transformation XSLT suivie du mécanisme d'ajout de termes de SDX :
      <sdx:pipeline>
        <sdx:transformation id="step1" type="XSLT" src="index.xsl"/>
        <sdx:transformation id="thes" type="fr.gouv.culture.sdx.pipeline.FieldExpansionTransformation" th="thes"/>
      </sdx:pipeline>
Dans cet exemple, la première transformation est habituelle. La seconde est effectuée par une transformation implémentée par une classe SDX spécifiquement conçue pour cela. L'attribut `th` est facultatif, il sert à préciser le thésaurus (par son identifiant) qui sera utilisé pour trouver des termes ; nous verrons qu'il s'agit seulement d'une valeur par défaut et qu'il est possible de le spécifier pendant le processus d'indexation comme tel. ## L'ajout de termes L'ajout de termes doit être demandé dans une transformation préalable à celle effectuée par la classe `FieldExpansionTransformation`, en utilisant des éléments spécifiques à cette tâche. Nous allons commencer par un exemple pour montrer le fonctionnement général :
      <sdx:document id="doc01">
        <sdx:field name="sujet">
          Eglise
          <sdx:expandField>
            <sdx:relation type="bt" depth="2" th="thes"/>
          </sdx:expandField>
        </sdx:field>
      </sdx:document>
Cet exemple illustre un cas où l'indexation identifie que le terme `Eglise` doit être inclus dans un champ `sujet`, mais que SDX doit utilisé le thésaurus `thes` et inclure les deux termes génériques (broader term) de ce terme. Ainsi, si le téhsaurus a une hiérarchie de type `Patrimoine => Architecture => Eglise`, alors les termes `Patrimoine` et `Architecture` seront aussi mis dans autant d'autres occurrences du champ `sujet`. Dans cet exemple, l'attribut `th` est optionnel, et il indique l'identifiant du thésaurus à utiliser. S'il est absent, le thésaurus par défaut, spécifié dans le pipeline d'indexation, sera utilisé. Les types de relation sont celles qui sont définies pour les thésaurus dans SDX : `bt` pour les termes génériques, `nt` pour les termes spécifiques, `rt` pour les termes associés, et enfin `et` et `pe` pour les termes équivalents ou partiellement équivalents dans une autre langue. L'utilisation de ces deux dernières relations exige un nouvel attribut, `lang`, pour indiquer dans quelle langue il faut aller chercher les termes équivalents ou partiellement équivalents.
| Auteur : Martin Sévigny ( AJLSM ) - 2003-05-14

| Home |
Copyright © 2000, 2001, 2002, 2003, 2004 Ministère de la culture et de la communication, AJLSM.