Documentation SDX v 1.1
Le langage de requête
Dernière modification : 2001/06/06 17:21:49 Contact : Martin Sévigny
SDX comprend un puissant moteur de recherche qui permet de tenir compte de la structure des documents XML. Ce document a pour but d'expliquer le langage de requête que l'on peut utiliser avec SDX pour exprimer des recherches.
De façon générale, cet outil effectue une recherche plein texte avec comme opérateur implicite un "ou" logique. Toutefois, les résultats pouvant être classés en ordre de pertinence probable, les documents qui contiennent plusieurs termes de recherche sont habituellement affichés en premier.
Recherche de mots
Les requêtes les plus simples sont celles qui contiennent un ou plusieurs mots. Ces mots doivent être séparés par des espaces ou des caractères de ponctuation. Par exemple, la recherche :
céramique grès
retourne tous les documents qui contiennent le mot céramique ou le mot grès. Puisque l'outil de recherche effectue un tri de pertinence, les documents qui contiennent les deux mots seront retournés en premier.
Recherche de phrases
Il est également possible de rechercher des phrases, c'est-a-dire des séquences de mots adjacents. Ainsi, la recherche :
"opération préventive de fouille d'évaluation"
retournera tous les documents qui contiennent cette chaîne de caractères. Les guillemets doubles sont utilisés pour délimiter les phrases. Bien entendu, on peut combiner des mots et des phrases pour effectuer des recherches un peu plus complexes, comme par exemple :
"opération préventive" fouille
Cette dernière requête retournera tous les documents qui contiennent ou bien l'expression opération préventive ou le mot fouille.
Recherche booléenne
Les recherches booléennes sont possibles en utilisant les préfixes "+" et "-" qui rendent respectivement un mot obligatoire ou nécessairement absent. Ainsi la requête :
+fouille +préventive
retournera les documents qui contiennent ces deux mots, alors que la requête :
+fouille -préventive
retournera les documents qui contiennent le mot fouille mais pas le mot préventive. A noter qu'un espace doit précéder le "+" ou le "-" pour qu'il soit interprété comme un opérateur booléen.
On peut utiliser des parenthèses pour grouper différents critères de recherche obligatoires ou rejetés. Par exemple, la requête :
+(fouille préventive céramique) -(grès silex)
retournera tous les documents qui contiennent obligatoirement les mots fouille, préventive et céramique, mais pas les mots grès et silex. Ces opérateurs et parenthèses peuvent également s'appliquer àdes phrases comme dans l'exemple suivant :
+"fouille préventive" -"fouille exploratoire"
Troncature (masques)
Tous les mots (mais pas les phrases) peuvent contenir les caractères de troncature suivants :
* |
0 ou plusieurs caractères. Par exemple, la requête : informati* retournera les documents qui contiennent les mots information, informations, informatique, informatisation, etc. |
? |
0 ou un caractère. Par exemple, la requête : pelle? retournera les documents qui contiennent les mots pelle ou pelles, mais pas pelletée. |
A noter que les caractères de troncature ne sont pas permis dans une phrase. Aucune erreur ne sera générée, mais les résultats ne seront pas corrects.
Champs
Dans tous les exemples précédents, aucun champ de recherche n'était spécifié dans la requête. Les bases de documents SDX ont toutes un champ de recherche par défaut, et c'est dans ce champ que s'effectuaient les recherches.
Toutefois, il est possible de préciser un champ de recherche dans la requête même. L'exemple suivant montre comment s'y prendre :
titre:céramique
Le nom du champ doit être suivi par ":" et cette restriction s'applique au mot ou a la phrase qui suit seulement, ou encore àla parenthèse. Pour mieux expliquer ce principe, voici quelques exemples :
motcle:céramique grès
retournera tous les documents qui contiennent le terme céramique dans le champ motcle, ou le terme grès dans le champ par défaut. Par contre, la requête :
motcle:(céramique grès)
retournera tous les documents qui contiennent le terme céramique ou le terme grès dans le champ motcle. De la même façon, la requête :
+description:"fouille préventive" +titre:mammouth*
retournera tous les documents qui contiennent la phrase fouille préventive dans le champ motcle et les mots comme mammouths ou mammouth dans le champ titre.
La liste des champs disponibles dans une base de documents SDX n'est pas prédéfinie. C'est au concepteur de la base de définir les champs de recherche et leur signification, et de rendre l'information disponible. Pour en savoir plus, consultez l'aide de la base de documents que vous utilisez.
Majuscules, accents, mots vides
Nous décrivons ici le comportement par défaut de SDX. Il est possible que le concepteur d'une base de documents modifie ce fonctionnement. Il est donc préférable de véirifer d'abord la documentation relative à la base de documents qui vous intéresse.
Lors de l'indexation et de la recherche, toutes les lettres sont transformées en minuscules. Par conséquent, on peut exprimer indifféremment une requête en utilisant des lettres majuscules ou minuscules.
Par contre, les lettres accentuées sont conservées et les requêtes de recherche doivent en tenir compte. Par conséquence, les rechercheséglise et eglise ne donneront pas les mêmes résultats.
Enfin, soulignons que les principaux mots vides de la langue française sont, par défaut, supprimés lors de l'indexation. Vous pouvez les utiliser en recherche, mais ils seront ignorés.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Document précédent : Les structures de données publiques |
Table des matières | Document suivant : Introduction |