Skip To Content

Informations sur l'indexation Lucene dans le géoportail

Informations sur l'indexation Lucene dans le géoportail

L'indexation est importante, car elle détermine quelles propriétés peuvent faire l'objet d'une recherche et comment les résultats de la recherche sont retournés à l'utilisateur qui soumet une recherche sur le géoportail. Lors de la publication d'un document de métadonnées, le contenu du document est soumis pour indexation par le moteur de recherche. Pour faciliter les fonctions plus avancées de Lucene, la technologie utilisée pour l'indexation de recherche par le serveur de géoportail, une signification particulière est attribuée à cette information. Par "signification", nous désignons un concept ou un prédicat sur lequel vous pourriez vouloir effectuer une recherche. Cette "signification" détermine comment Lucene indexe le contenu et comment celui-ci peut être utilisé dans les recherches.

Avant qu'une valeur de "signification" puisse être utilisée, elle doit être définie dans un fichier nommé property-meanings.xml, qui se trouve dans le dossier \\geoportal\WEB-INF\classes\gpt\metadata. Le géoportail renvoie au fichier property-meanings.xml pour indexer la valeur des métadonnées aux fins de recherche et d'extraction.

Le fichier definition.xml de chaque profil de métadonnées du géoportail peut spécifier le jeu de propriétés à indexer. Ces propriétés sont habituellement capturées dans le fichier indexables.xml du profil. Le fichier indexables.xml établit un lien entre le chemin xpath XML d'un élément et la signification qui lui est associée dans le fichier proptery-meanings.xml. Cela définit ensuite comment l'élément est indexé et utilisé dans une recherche.

Remarque :

Le géoportail peut être personnalisé de manière à indexer automatiquement tout le contenu des métadonnées, peu importe le paramètre auquel il est associé dans les métadonnées. Pour effectuer cette personnalisation, consultez Indexer tout le contenu de métadonnées.

Déterminer si l’élément de métadonnées est déjà indexé par défaut

Si un élément de métadonnées apparaît dans un des éditeurs de métadonnées par défaut du géoportail, il est probable que cet élément est déjà indexé par défaut. Toutefois, si vous avez créé un profil de métadonnées personnalisé avec de nouveaux paramètres de métadonnées, ou si vous avez ajouté de nouveaux éléments de métadonnées aux éditeurs par défaut, vous devrez peut-être définir l’indexation de l’élément.

Pour vérifier si un élément est déjà indexé, identifiez le fichier definition.xml du profil dans lequel l'élément est référencé. Par exemple, pour vérifier l'élément Lineage du profil INSPIRE (Data), nous commençons par ouvrir le fichier inspire-iso-19115-definition.xml dans un éditeur de texte. Nous devons identifier ici quel fichier indexables.xml est référencé par ce profil et trouver le chemin xpath à l'élément de métadonnées qui nous intéresse. Pour trouver le fichier indexables.xml, examinez l'attribut <indexables fileName=""> dans le fichier definition.xml. Dans notre exemple, il s'agit du fichier apiso-indexables.xml du dossier \\geoportal\WEB-INF\classes\gpt\metadata\iso. Après avoir identifié le fichier indexables.xml référencé, ouvrez ce fichier dans un éditeur de texte ou un éditeur XML.

Pour trouver le chemin xpath de l'élément de métadonnées qui vous intéresse, repérez l'élément <parameter> pour cet élément de métadonnées dans le fichier definition.xml. Cet élément <parameter> contient un sous-élément <content>. L'élément <content> a un attribut select. Copiez le chemin xpath de l'attribut select.

Pour que l'élément de métadonnées soit indexé, son chemin xpath doit figurer dans le fichier indexables.xml référencé par son profil de métadonnées. Pour ce faire, revenez au fichier indexables.xml et recherchez le chemin xpath que vous venez de copier. Dans notre exemple sur Lineage , nous avons copié la chaîne /gmd:MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString du fichier inspire-iso-19115-definition.xml et l'avons recherchée dans le fichier apiso-indexables.xml. Nous la retrouvons dans le fichier apiso-indexables.xml et notons qu'elle est indexée par le nom property-meaning "apiso:Lineage". En recherchant apiso name="apiso:Lineage" dans le fichier property-meaning.xml, nous observons que le texte correspondant pouvant faite l'objet d'une recherche est "apiso:Lineage". Nous pourrions donc entrer apiso.Lineage:searchTerm dans le champ Rechercher de la page de recherche du géoportail afin de rechercher les éléments Lineage pour searchTerm.

Si le chemin xpath à l'élément de métadonnées n'est pas indiqué dans le fichier indexables.xml, vous pouvez l'ajouter à l'une des significations property-meaning dans le fichier. Après avoir ajouté le chemin xpath à la signification property-meaning correspondant à celle de votre élément de métadonnées, enregistrez le fichier indexables.xml et redémarrez l'application Web de géoportail. Vous devez approuver à nouveau les ressources via l'interface Administration du géoportail afin que leur indexation tiennent compte de la nouvelle signification.

Les instructions nécessaires sont fournies plus loin dans cette rubrique, mais lisez d'abord la section ci-dessous sur le fichier property-meanings.xml.

Le fichier property-meanings.xml

Avant d'ajouter de nouvelles significations, vérifiez d'abord si le fichier property-meanings.xml ne contiendrait pas une signification qui réponde à vos besoins. Certaines des significations déjà définies dans le fichier sont répertoriées dans le tableau suivant, ainsi que les fonctions que le géoportail leur associe. Le fichier property-meanings.xml contient d'autres significations définies pour des normes ISO, mais elles ne figurent pas dans ce tableau. L'utilisation des significations existantes réduit le travail nécessaire pour passer aux versions futures du géoportail. Les significations existantes devraient répondre à la majorité des besoins en matière de recherche.

Nom de property-meaningdescriptionFonction du géoportail

uuid

Clé primaire du géoportail pour identifier le document.

La valeur est généralement une URL. Par exemple : http://host:port/geoportal/rest/document?id=[uuid]

fileIdentifier

Représente un identifiant à l'intérieur du document de métadonnées. Les normes de métadonnées ne prennent pas toutes en charge un identifiant interne. Cet identifiant devrait être unique de manière globale s'il est utilisé.

Utilisé par le géoportail pour éviter la duplication des ressources et à titre d'identifiant supplémentaire pour la plupart des fonctions REST. Par exemple : http://host:port/geoportal/rest/document?id=[fileIdentifier]

sys.siteuuid

Utilisé de manière interne par le géoportail et associé à des documents recueillis dans des catalogues distants. Identifiant du catalogue distant et disponible. Ne le modifiez pas.

Peut faire l'objet de requêtes.

dateModified

Attribut de date de modification associé par le géoportail à la dernière mise à jour du code XML de la ressource.

Utilisé dans la boîte de dialogue Options supplémentaires de la page Rechercher du géoportail ainsi que pour un tri par date.

géométrie

Représente l'enveloppe d'emprise associée à la ressource.

Utilisé pour des requêtes spatiales.

mots-clés

Mots-clés associés à la ressource.

Peuvent faire l'objet de requêtes.

corps

Requête non spécifique; fourre-tout pour indexer et rechercher du texte dans un document de métadonnées.

Si vous souhaitez indexer un élément particulier que vous ne prévoyez pas rechercher, indexez-le comme corps.

anytext

Anytext n'est pas réellement indexé. Cela représente une collection de propriétés qui feront l'objet de recherches lorsque anytext est spécifié.

Les recherches générales ne portant pas sur une propriété particulière sont des requêtes anytext.

titre

Intitulé de la ressource.

Utilisé lorsque le titre de la ressource est affiché, par exemple dans une liste de résultats de recherche dans la page Rechercher.

title.org

Capture le titre d'origine fourni dans la réponse à GetCapabilities pour une ressource.

Permet au géoportail de rechercher un titre attribué par l'utilisateur à une ressource inscrite ainsi que le titre d'origine fourni dans la réponse à GetCapabilities.

résumé

Résumé associé dans la ressource.

Correspond à l'information affichée sous forme de texte en-dessous du titre ou d'un enregistrement dans une liste de résultats de recherche.

contentType

Concept Esri de classement des ressources.

Utilisé pour générer l'icône de la ressource dans les résultats de la page Rechercher ainsi que comme filtre dans la boîte de dialogue Options supplémentaires.

dataTheme

Code de catégorie thématique ISO associé à la ressource. Les codes de catégorie thématique sont définis dans la norme ISO 19115.

Correspond aux Catégories ISO dans la boîte de dialogue Options supplémentaires.

resource.url

Extrémité principale pour accéder à la ressource par Internet.

Utilisée pour générer les liens dans les résultats de recherche. Par exemple, il s'agit de l'URL utilisée lorsque l'utilisateur clique sur le lien Aperçu ou Ouvrir. Parfois utilisée également pour déterminer le contentType Esri pour la ressource.

thumbnail.url

URL à l'image miniature de la ressource.

Utilisée pour générer l'image miniature à côté de la ressource dans la liste de résultats de recherche.

website.url

URL à un site Web associé à la ressource.

Utilisée pour générer un lien à un site Web pour la ressource dans la liste de résultats de recherche.

Chaque property-meaning dans le fichier property-meanings.xml comporte des attributs. Ces attributs sont décrits ci-dessous.

Nom de l’attributDescription

name

Nom unique de la signification dans ce fichier; devrait correspondre à l'attribut meaning="" dans le fichier definition.xml. Le nom désigné devient un champ Lucene utilisable pour des recherches avancées, conformément à la documentation Lucene. Par exemple, si vous définissez le nom titre, puis saisissez titre:water dans la page de recherche du géoportail, vous obtiendrez seulement les éléments pour lesquels l'index associé à property-meaning titre par Lucene contient water.

meaningType

Utilisé pour marquer les éléments de métadonnées qui sont liés à des fonctions du géoportail. Il est recommandé de ne pas modifier le meaningType d'une property-meaning.

valueType

Type de données de la valeur de la propriété, ex. Double, Géométrie, Long, Chaîne ou Date.

comparisonType

Indique comment Lucene indexe les valeurs de propriété. Trois options sont définies dans le fichier property-meaning.xml :

  • term : les groupes de mots associées à cet attribut sont segmentés. Par exemple, si le mot stocké est "San Diego" et s'il est associé à une signification dont le comparisonType est term, il sera stocké en deux mots distincts : "San" et "Diego". Les groupes de mots de ce type sont en outre stockés en minuscules, soit "san" et "diego".
  • keyword : les groupes de mots associées à cet attribut ne sont pas segmentés. Par exemple, si le mot stocké est "San Diego" et s'il est associé à une signification dont le comparisonType est keyword, il sera stocké comme un terme. Une recherche sur "San" ne retournera pas l'enregistrement, seulement une recherche sur "San Diego" le fera. Les groupes de mots de ce type sont aussi stockés en minuscules, soit "san diego".
  • value : les éléments associées à cet attribut sont stockés à titre de valeurs et non comme des mots ou des groupes de mots. Les éléments respectent la casse. La signification fileIdentifier en est un bon exemple. Les paramètres pour lesquels meaning="fileIdentifier" contiennent probablement des chaînes d'identification uniques telles que {F56408D6-4325-484C-B753-5E8FD4421E31}. Une recherche sur une portion de la chaîne, telle que "E31", ne permet pas d'extraire l'enregistrement car la chaîne est stockée à titre de valeur entière et n'est pas analysée. Une recherche sur la chaîne "{f56408d6-4325-b753-5e8fd4421e31}" ne permet pas non plus d'extraire l'enregistrement, car la valeur stockée est sensible à la casse.

Certaines property-meanings comportent un ou deux sous-éléments supplémentaires, <dc> et <consider>.

  • L'élément <dc> signifie "Dublin Core". Cet élément facilite la connexion des property-meanings aux concepts Dublin Core. Il est nécessaire à la prise en charge du profil CS-W OGCORE, car il définit ce qui peut faire l'objet d'une requête et être retourné via CS-W. L'élément <dc> contient un attribut name et un attribut aliases. L'attribut name définit le nom de l'élément Dublin Core. L'attribut aliases définit d'autres mots qui seront reconnus s'ils sont fournis comme nom de propriété CS-W.
  • L'élément <consider> est utilisé seulement pour la propriété anytext. Il définit d'autres property-meanings qui devraient être incluses lorsque la cible de la recherche est anytext. Par exemple, la signification property-meaning anytext est présentée ci-dessous. Comme quatre autres property-meanings figurent dans l'élément <consider> d'anytext, une recherche sur anytext est en fait une recherche sur les propriétés titre, résumé, mots-clés et corps.
    <property-meaning name="anytext" meaningType="anytext" valueType="String" comparisonType="terms" allowLeadingWildcard="true">
      <consider>title,abstract,keywords,body,contentType,dataTheme</consider>  
        <dc name="AnyText" aliases="csw:AnyText,any,csw:Any"/>
      </property-meaning>
    

Procédure de définition d'une nouvelle signification de propriété

Si vous avez créé un profil de métadonnées personnalisé ou ajouté des éléments à un profil de métadonnées de géoportail existant et si aucune des significations de propriété figurant dans le fichier property-meanings.xml ne répond à vos besoins, vous pouvez en définir une nouvelle. Suivez les instructions ci-dessous.

  1. A l'aide des paramètres décrits dans le tableau ci-dessus, ajoutez une nouvelle signification de propriété dans le fichier property-meanings.xml.
  2. Ajoutez ensuite une référence à la nouvelle signification de propriété dans le fichier indexables.xml du profil de vos métadonnées. Assurez-vous que l'emplacement xpath indiqué pour la signification de propriété dans le fichier indexables.xml correspond bien à son emplacement xpath défini dans le fichier definition.xml correspondant.
  3. Enregistrez les fichiers et redémarrez l’application Web de géoportail. Vous devez approuver à nouveau les ressources via l'interface Administration du géoportail afin que leur indexation tiennent compte de la nouvelle signification.