Télécharger
    Installer
    Présentation
    Configuration
      +Base de documents <-
       Entrepôt
    Indexation
    Recherche
    OAI
    Référence API-XSP
    Migration
    Schemas
    Performances


SDX

Configuration d'une base de documents

Les bases de documents sont l'une des composantes des applications SDX 2. L'élément <sdx:documentBases> du fichier application.xconf contient les informations qui définissent les bases de documents d'une application ; nous allons expliquer ici quelles sont les informations de configuration associées à cet élément.

Il est à noter que la configuration d'une application SDX doit également contenir un élément <sdx:userDocumentBase> qui a exactement la même structure que l'élément <sdx:documentBase> dont il sera principalement question ici. Ainsi, toutes les informations de ce document peuvent également s'appliquer à l'élément <sdx:userDoucmentBase>. Ce dernier permet de configurer la base de documents spéciale qui gère les utilisateurs associés à l'application. Cette base de documents est spéciale à cause du rôle spécifique qu'elle joue pour l'application, mais en fait elle peut également être utilisée de la même manière que toute base de documents, ce qui implique notamment qu'elle peut être utilisée en recherche.

L'architectude de SDX a été conçue de manière à ce que la notion de base de documents soit relativement générique, même si pour l'instant un seul type de base de documents peut être défini, soir les bases de documents Lucene. Si jamais d'autres moteurs de recherche sont interfacés avec SDX, d'autres types de bases de documents verront le jour.

Relation avec les entrepôts

Une base de documents n'est pas suffisante pour construire une application SDX avec du contenu. En effet, même si celle-ci a toute l'information nécessaire pour chercher des documents et les présenter de façon sommaire, elle ne contient pas les documents eux-mêmes, ni même une référence précise avec leur emplacement. Par contre, les bases de documents vont garder une trace de l'entrepôt de documents où se trouve le document indexé, ce qui va permettre de retrouver les documents eux-mêmes lorsque nécessaire.

La configuration d'un entrepôt de documents peut se situer à l'intérieur (dans le sens de la hiérarchie XML) de la configuration d'une base de documents ou encore à l'extérieur, c'est-à-dire au niveau de la configuration d'une application. Lorsque l'entrepôt est défini à l'intérieur d'une base de documents, cela signifie qu'il est accessible seulement pour cette base ; autrement dit, les autres bases de documents de l'application ne pourront pas stocker les documents dans cet entrepôt. A l'opposé, lorsque l'entrepôt est défini au niveau de l'application, toutes les bases de documents peuvent y déposer des documents. L'intérêt de cette configuration sera plus important lorsque différents types de bases de documents seront intégrés à SDX.

L'élément <sdx:documentBases>

Cet élément a simplement pour but de contenir la liste des bases de documents associées à une application. Il doit être à l'intérieur de l'élément <sdx:application>.

Informations générales à propos d'une base de documents

L'élément <sdx:documentBase> contient toutes les informations nécessaires pour définir une base de documents, y compris certaines informations générales. Ces informations générales sont toutes spécifiées en attributs.

Table 1. Attributs de l'élément <sdx:documentBase>

AttributValeurs possiblesDescription
id (obligatoire)Un identifiant.L'identifiant de la base de documents. Cet identifiant est obligatoire, il devient par la suite la clé d'identification de la base de documents pour toutes les opérations de recherche, d'ajout ou de suppression de documents dans cette base.
defaultUn booléen (true ou false), par défaut c'est false.Si true, cette base est la base par défaut pour cette application. Cela signifie que les opérations de recherche, d'ajout ou de suppression de documents se feront dans cette base sauf si une base est explicitement mentionnée par son identifiant.
typeUne chaîne.Le type de base de documents ; pour l'instant, seule la valeur "lucene" est permise.
xml:langUn code de langue selon la norme XML (par exemple fr-CA ou en).La langue par défaut pour le contenu des champs de cette base de documents. Si elle n'est pas spécifiée, c'est la langue par défaut de l'application qui est utilisée.
variantUn code de variante de langue, selon le langage Java.Java permettant de préciser des variantes de langue, le contenu de cet attribut vient préciser la langue donnée par xml:lang.
remote-accessUn booléen (true ou false), par défaut c'est false.Si true, cette base de documents est cherchable par des applications SDX autres que celle où elle est définie.
keepOriginalDocumentsUn booléen (true ou false), par défaut c'est true.Cet attribut n'a de sens que si le tube d'indexation contient plusieurs étapes de transformation. Dans ce cas, une valeur true signifie que le document original fourni à l'indexation est conservé par SDX ; dans le cas contraire, SDX ne conserve que les documents issus des étapes de transformation avec un keep=true.
maxFieldLengthUn nombre entier, par défaut 10 000.Le nombre de champs pour un document. La modification de ce nombre peut avoir des impacts sur la performance. Consulter la documentation de la classe IndexWriter de Lucene pour en savoir plus.

Générateur d'identifiants

Tous les documents gérés par SDX doivent avoir un identifiant. Cet identifiant doit être unique dans la base de documents où il se trouve. En général, c'est le processus d'indexation qui est responsable de déterminer cet identifiant qui est fourni par l'attribut id de l'élément sdx:document résultant de ce processus d'indexation.

Toutefois, dans certains cas, il peut être difficile de trouver un identifiant lors du processus d'indexation, et c'est pourquoi SDX 2 offre un moyen d'en générer automatiquement, à l'aide de générateurs d'identifiants. Un générateur d'identifiants est nécessairement une classe Java qui implémente l'interface fr.gouv.culture.sdx.documentbase.IDGenerator ; SDX 2 fournit une telle classe nommée fr.gouv.culture.sdx.documentbase.DefaultIDGenerator qui génère des identifiants de manière aléatoire.

Il n'est pas nécessaire de configurer des générateurs d'identifiants, même si on désire en utiliser un. En effet, dans une telle situation, SDX 2 utilisera toujours son propre générateur d'identifiants par défaut. Toutefois, si on veut en utiliser un autre, on doit le déclarer dans le application.xconf, à l'aide d'un élément sdx:idGenerator, qui doit avoir un attribut class qui indique le nom complet de la classe, et peut avoir des attributs idPrefix et idSuffix pour indiquer un préfixe et/ou un suffixe à ajouter aux identifiants générés. Pour utiliser ce générateur d'identifiants ou celui proposé par SDX 2, on doit spécifier l'attribut generateId de sdx:document dans le document retourné par le processus d'indexation, et lui donner une valeur true.

Interprète de requêtes

A faire.

Liste des champs

A faire.

Indexation

A faire.



Auteur : Martin Sévigny ( AJLSM ) - 2002/11/19