Skip To Content

Utilisation des requêtes de texte de recherche Lucene

Utilisation des requêtes de texte de recherche Lucene

Le Géoportail utilise un moteur de recherche sophistiqué qui propose de nombreuses options de recherche, des options de classement, une performance rapide et une évolutivité. Le moteur de recherche est basé sur le moteur de recherche de source libre Apache Lucene. Pour tirer le plus parti de la page de recherche du Géoportail, n'oubliez pas les entités suivantes que Lucene propose pour la syntaxe de recherche :

  1. Termes

    Une requête est divisée en termes et opérateurs. Il existe deux types de termes : Termes uniques et Phrases. Un Terme unique est un mot unique comme air ou qualité. Une Phrase est un groupe de mots entouré de guillemets comme "qualité air". Plusieurs termes peuvent être combinés ensemble avec des opérateurs Booléens pour former une requête plus complexe. Exemples:

    • La recherche pour air pourrait générer 35 occurrences (les éléments contiennent le mot air)
    • La recherche pour qualité génère 123 occurrences (les éléments contiennent le mot qualité)
    • La recherche pour qualité air (sans guillemets) génère 148 occurrences (les éléments contiennent les mots air ou qualité ou les deux)
    • La recherche pour air ET qualité génère 10 occurrences (les résultats contiennent les deux mots air et qualité)
    • La recherche pour "qualité air" (avec des guillemets) génère 7 occurrences (les éléments contiennent les mots air et qualité qui se suivent directement)
    • La recherche pour titre:air génère 5 occurrences (les éléments contiennent le mot air dans le titre)
    • La recherche pour titre:qualité génère 14 occurrences (les éléments contiennent le mot qualité dans le titre)
    • La recherche pour +titre:air +titre:qualité ou titre:"qualité air" génère 2 occurrences (les deux éléments contiennent les deux mots air et qualité dans le titre)

  2. Caractères spéciaux

    Le Géoportail prend en charge les caractères spéciaux d'échappement qui font partie de la syntaxe de requête. Les caractères spéciaux de la liste actuelle sont + - && || ! ( ) { } [ ] ^ " ~ * ? : \ Pour échapper, ces caractères utilisent le \ avant le caractère. Par exemple, pour rechercher les éléments qui contiennent une occurrence d'échelle 1:250k, utilisez la requête : \1\:250k.

  3. Champs

    Lucene prend en charge les données en champ. Lorsque vous effectuez une recherche, vous pouvez spécifier un champ ou utiliser le champ par défaut. Les noms de champ et le champ par défaut sont spécifiques à l'implémentation. Vous pouvez rechercher n'importe quel champ en tapant le nom du champ suivi de deux points, puis du terme que vous recherchez. Le ciblage d'un champ spécifique dans la requête peut être plus précis, simplement en recherchant avec les termes. N'oubliez pas que certains champs sont sensibles à la casse. Rappelez-vous que certains caractères spéciaux doivent être exclus de la requête en utilisant une barre oblique inverse (\) ou intégrés entre guillemets ("") lorsqu'ils font partie du texte à rechercher. Exemples:

    • titre:"La bonne manière" ET texte:"ne fais pas ça"
    • uuid:"{550E8400-E29B-41D4-A716-446655440000}"
    • uuid:\{550E8400\-E29B\-41D4\-A716\-446655440000\}
    • resource.url:"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"
    Remarque :

    Le champ est uniquement valide pour le terme qu'il précède directement. Par conséquent, la requête titre:Faites-le bien trouvera uniquement "Faites" dans le champ de titre.

  4. Recherches de caractères génériques

    Le Géoportail prend en charge les recherches de caractères génériques à un ou plusieurs caractères dans les termes uniques (pas dans les requêtes de phrase).

    Attention :

    Vous ne pouvez pas utiliser de symbole * ou ? comme premier caractère d'une recherche.

    • Afin d'effectuer une recherche de caractères génériques à un seul caractère, utilisez le symbole "?". La recherche de caractères génériques à un seul caractère recherche les termes qui correspondent à celui avec le caractère unique remplacé. Par exemple, pour rechercher text ou test, vous pouvez utiliser la recherche :te?t
    • Pour effectuer une recherche de caractères génériques à plusieurs caractères, utilisez le symbole "*". La recherche de caractères génériques à plusieurs caractères recherche 0 caractère ou plus. Par exemple, pour rechercher test, tests ou testeur, vous pouvez utiliser la recherche : test*. Vous pouvez également utiliser les recherches de caractères génériques au milieu d'un terme : te*t
  5. Recherches approximatives

    Le Géoportail prend en charge les recherches approximatives basées sur l'algorithme Distance de Levenshtein ou Modifier la distance. Pour effectuer une recherche approximative, utilisez le tilde, "~", symbole à la fin d'un Terme unique. Par exemple, pour rechercher un terme dont l'orthographe est similaire à air, utilisez la recherche approximative : air~. Cette recherche trouvera non seulement les éléments contenant des termes comme air et aire, mais également aide. Le Géoportail prend en charge la spécification de la similarité requise. La valeur est comprise entre 0 et 1, avec une valeur plus proche de 1, seuls les termes ayant une similarité supérieure seront trouvés. Par exemple : air~0,8 La valeur par défaut qui est utilisée, si le paramètre n'est pas indiqué, est 0,5.

  6. Recherches de proximité

    Le Géoportail prend en charge les termes de recherche qui se trouvent à une distance spécifique. Pour effectuer une recherche de proximité, utilisez le tilde, "~", symbole à la fin d'une Phrase. Par exemple, pour rechercher air et qualité à 10 mots l'un de l'autre dans un document, utilisez la recherche : air qualité"~10

  7. Recherches de plage

    Le Géoportail prend en charge les requêtes de plage pour l'enveloppe et l'horodatage. Cela permet à l'utilisateur de trouver des documents dont les valeurs du (des) champ(s) se trouvent entre la limite inférieure et supérieure spécifiée par la Requête de plage. Les Requêtes de plage peuvent inclure ou exclure les limites supérieure et inférieure.

    • Exemples d'enveloppe :
      • enveloppe :[-80,-70 A +30,+70] Cette recherche générerait des documents renvoyés qui croisent une enveloppe spatiale avec une coordonnée limite Sud-ouest de - 80 ° O et - 70 ° S, et une coordonnée limite Nord-est de 30 ° O et 70° N.
      • enveloppe :{-80,-70 A +30,+70} Cette recherche générerait des documents renvoyés qui entrent exactement dans la plage d'une enveloppe spatiale avec une coordonnée limite Sud-ouest de - 80 ° O et - 70 ° S, et une coordonnée limite Nord-est de 30 ° O et 70 ° N.
      Remarque :

      La syntaxe est importante ici. Il s'agit du nom de champ (enveloppe) suivi de deux points (:), puis d'une définition de plage inclusive ou exclusive. Pour une recherche inclusive, les crochets ([ ]) sont utilisés et pour une recherche exclusive les accolades ({ }) sont utilisés. La différence est que les recherches de plage exclusive sélectionneront uniquement ces ressources dans lesquelles l'enveloppe entre directement dans la plage spécifiée, tandis qu'une recherche de plage inclusive sélectionnera les ressources qui croisent la plage spécifiée mais également qui en sortent. La première paire de valeurs sont les coordonnées du coin en bas à gauche suivies par le mot-clé À (majuscule), puis par les coordonnées en haut à droite. Les coordonnées sont toujours indiquées dans le système de projection WGS 1984 (4236). Les caractères génériques sont également utilisés à la place d'une coordonnée simple ou d'une paire entière de coordonnées de coin, par exemple enveloppe:[*,-70 A +30,*] ou enveloppe :{-80,-70 A *}

    • Exemples d'horodatage :
      • dateModifiée:[2009-10-11 À 2009-11-10]
      • dateModifiée:[2006 À 2010]
      • dateModifiée:2009-12
      Pour la syntaxe d'horodatage, le nom de champ spécifié est dateModifiedsuivi de deux points, puis d'une définition de plage inclusive. Le premier exemple sélectionnera des ressources avec la dateModifiée entre 2009-10-11 à 2009-11-10, y compris les dates de cette plage. Le deuxième exemple sélectionnera les ressources avec dateModified de l'année 2006 à 2010. Le dernier exemple sélectionnera les ressources avec dateModified en décembre 2009 (aucune parenthèse nécessaire).
  8. Optimisation d'un terme

    Le Géoportail donne le niveau de pertinence des documents correspondants basés sur les termes trouvés. Pour optimiser un terme, utilisez l'accent circonflexe, ^, symbole avec un facteur d'optimisation (un nombre) à la fin du terme que vous recherchez. Plus le facteur d'optimisation est élevé, plus le terme est pertinent. L'optimisation vous permet de contrôler la pertinence d'un document en optimisant son terme. Par exemple, si vous recherchez qualité air et que vous souhaitez que le terme air soit plus pertinent, optimisez-le en utilisant le symbole ^ avec le facteur d'optimisation à côté du terme. Vous taperiez : qualité air^4. Cela fera apparaître les documents contenant le terme air de manière plus pertinente. Vous pouvez également optimiser les Termes de phrase comme dans l'exemple : "qualité air"^4 "qualité eau". Par défaut, le facteur d'optimisation est 1. Bien que le facteur d'optimisation doive être positif, il peut être inférieur à 1 (ex. : 0,2)

  9. Opérateurs booléens

    Les opérateurs booléens permettent d'associer des termes à l'aide d'opérateurs logiques. Le Géoportail prend en charge ET, +, OU, PAS et - comme opérateurs booléens.

    Remarque :

    Les opérateurs booléens doivent être TOUT EN MAJUSCULES

    • L'opérateur OU est l'opérateur de conjonction par défaut. Cela signifie que s'il n'y a aucun opérateur booléen entre les deux termes, l'opérateur OU est utilisé. L'opérateur OU lie les deux termes et trouve un document correspondant su l'un des termes existe dans un document. Ceci équivaut à une union entre deux ensembles. Le symbole || peut être utilisé à la place du mot OU.
    • L'opérateur ET trouve les documents dans lesquels les deux termes existent n'importe où dans le texte d'un seul document. Ceci équivaut à une intersection entre deux ensembles. Le symbole && peut être utilisé à la place du mot ET.
    • L'opérateur + ou requis nécessite que le terme après le symbole + existe quelque part dans un champ d'un seul document.
    • L'opérateur PAS exclut les documents qui contiennent le terme après PAS. Ceci équivaut à une différence entre deux ensembles. Le symbole ! peut être utilisé à la place du mot PAS.
      Remarque :

      L'opérateur NOT ne peut pas être utilisé avec un seul terme.

  10. Regroupement

    Le Géoportail prend en charge l'utilisation des parenthèses pour regrouper les clauses afin de former des sous-requêtes. Cela peut s'avérer très utile si vous souhaitez contrôler la logique booléenne pour une requête. Par exemple : (air OU eau) ET qualité trouvera les documents contenant les mots air et qualité ou les mots eau et qualité.

  11. Regroupement de champs

    Le Géoportail prend en charge l'utilisation des parenthèses pour regrouper plusieurs clauses en un seul champ. Par exemple : titre:(air OU eau) trouve les éléments qui contiennent les mots air ou eau dans le titre.

Pour plus d'informations sur la manière dont mettre spécifiquement à niveau la syntaxe de recherche Lucene pour une recherche efficace dans votre Géoportail, veuillez consulter le site Web de Lucene.