Skip To Content

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 plus d'informations sur la manière de mettre à profit la syntaxe de recherche Lucene pour optimiser les recherches dans votre Géoportail, veuillez consulter le site web de Lucene.

Pour tirer le maximum de la page de recherche du géoportail, consultez dans les sections suivantes la liste des entités fournies par Lucene pour la syntaxe de recherche :

Termes

Une requête est divisée en termes et opérateurs. Il existe deux types de termes : les termes uniques et les phrases. Un terme unique est un mot unique, comme air ou qualité. Une phrase est un groupe de mots placés entre guillemets, comme "qualité air". Plusieurs termes peuvent être combinés ensemble avec des opérateurs Booléens pour former une requête plus complexe. Voici quelques exemples de termes de recherche :

  • La recherche du mot air renvoie 35 occurrences (éléments contenant le mot air).
  • La recherche du mot qualité renvoie 123 occurrences (éléments contenant le mot qualité).
  • La recherche de qualité air (sans guillemets) génère 148 occurrences (éléments contenant les mots air ou qualité ou les deux).
  • La recherche de air ET qualité génère 10 occurrences (éléments contenant les deux mots air et qualité).
  • La recherche de "qualité air" (avec des guillemets) génère 7 occurrences (les éléments contenant les mots air et qualité qui se suivent directement).
  • La recherche de title:air génère 5 occurrences (les éléments contenant le mot air dans le titre).
  • La recherche de title:qualité génère 14 occurrences (les éléments contenant le mot qualité dans le titre).
  • La recherche de +title:air +title:qualité ou title:"qualité air" génère 2 occurrences (les éléments contenant les deux mots air et qualité dans le titre).

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. Voici une liste de caractères spéciaux et de leurs codes d’échappement :

Caractères spéciauxCode d’échappement

+

\+

-

\-

&&

\&\&

||

\|\|

!

\!

(

\(

)

\)

{

\{

}

\}

[

\[

]

\]

^

\^

"

\"

~

\~

*

\*

?

\?

:

\:

\

\\

Par exemple, pour rechercher les éléments qui contiennent une occurrence d'échelle 1:250k, utilisez la requête : \1\:250k.

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, qu’une simple recherche de termes. N'oubliez pas que certains champs sont sensibles à la casse. Rappelez-vous que certains caractères spéciaux doivent être échappés dans la requête en utilisant une barre oblique inverse (\) ou intégrés entre guillemets lorsqu'ils font partie du texte de la recherche. Voici une liste de recherche avec champs :

  • title:"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 title:Faites-le bien trouvera uniquement le mot Faites dans le champ de titre.

Recherches génériques

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

Attention :

Il n’est pas possible d’utiliser un astérisque (*) ou un point d’interrogation (?) comme premier caractère d'une recherche.

Pour effectuer une recherche par caractères génériques représentant un seul caractère, utilisez le point d’interrogation. La recherche avec un caractère générique représentant un seul caractère recherche les termes correspondant à un caractère de remplacement unique. Par exemple, pour rechercher text ou test, vous pouvez utiliser la recherche te?t.

Pour effectuer une recherche par caractères génériques représentant plusieurs caractères, utilisez l’astérisque. La recherche par caractères génériques représentant plusieurs caractères recherche 0 caractère remplacé ou plus. Par exemple, pour rechercher test, tests, ou tester, vous pouvez utiliser la recherche test*. Vous pouvez également utiliser les recherches par caractères génériques au milieu d'un terme, par exemple, te*t.

Recherches approximatives

Le géoportail prend en charge les recherches approximatives basées sur la Distance de Levenshtein ou l'algorithme Modifier la distance. Pour effectuer une recherche approximative, utilisez le tilde, "~", à 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 renverra les éléments contenant non seulement les termes tels que air et airplane, mais également les termes tels que aid. Le Géoportail prend en charge la spécification de la similarité requise. La valeur est comprise entre 0 et 1. Lorsque la valeur est plus proche de 1, seuls les termes présentant une plus grande similarité seront renvoyés, par exemple , air~0.8. La valeur par défaut est 0.5 lorsque aucune valeur n’est spécifiée.

Recherches de proximité

Le géoportail permet de rechercher des termes qui se trouvent à une distance spécifique. Pour effectuer une recherche de proximité, utilisez le tilde "~" à 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.

Recherches par plage

Le géoportail prend en charge les requêtes de plage pour les recherches d’enveloppe et d'horodatage. Cela permet à l'utilisateur de trouver des documents dont les valeurs de champ se trouvent entre la limite inférieure et supérieure spécifiée par la requête de plage. Elles peuvent être inclusives ou exclusives par rapport aux limites inférieure et supérieure.

Recherche d’enveloppe

La syntaxe d’une recherche d’enveloppe correspond au nom de champ (enveloppe) suivi de deux points (:), puis d'une définition de plage inclusive ou exclusive. Pour les plages inclusives, placez l’enveloppe spatiale entre crochets ([ ]), et pour les plages exclusives, placez l’enveloppe spatiale entre accolades ({ }). Les recherches de plage exclusive ne sélectionnent que les ressources qui se trouvent exactement dans la plage d’enveloppe spécifiée, tandis que les recherches de plage inclusive sélectionnent les ressources qui croisent et sortent de la plage spécifiée. La première paire de valeurs correspond aux coordonnées de l’angle inférieur gauche suivies par le mot-clé TO (sensible à la casse), puis par les coordonnées de l’angle supérieur droit. Les coordonnées sont toujours indiquées dans le système de projection WGS 1984 (4236). Les caractères génériques peuvent également être utilisés à la place d'une coordonnée simple ou d'une paire entière de coordonnées de coin, par exemple enveloppe:[*,-70 TO +30,*] ou enveloppe:{-80,-70 TO *}.

Voici une liste d’exemples de recherche d’enveloppe :

  • enveloppe:[-80,-70 TO +30,+70]

    Cette recherche renverrait des documents qui croisent une enveloppe spatiale avec une coordonnée d’emprise sud-ouest de - 80 ° O et - 70 ° S, et une coordonnée d’emprise nord-est de 30 ° O et 70° N.

  • enveloppe:{-80,-70 TO +30,+70}

    Cette recherche renverrait des documents se trouvant exactement dans la plage d'une enveloppe spatiale ayant une coordonnée d’emprise sud-ouest de - 80 ° O et - 70 ° S, et une coordonnée d’emprise nord-est de 30 ° O et 70 ° N.

Recherche d’horodatage

La syntaxe d’une recherche d’horodatage correspond au nom du champ (dateModified) suivi de deux points (:), puis d'une définition de plage inclusive.

  • Voici une liste d’exemples de recherche d’horodatage :
    • dateModifiée:[2009-10-11 À 2009-11-10]

      Cette recherche renverrait des ressources dont la valeur dateModified est comprise entre le 11-10-2009 et le 10-11-2009, dates spécifiées incluses.

    • dateModifiée:[2006 À 2010]

      Cette recherche renverrait des ressources dont la valeur dateModified se situe entre les années 2006 et 2010.

    • dateModifiée:2009-12

      Cette recherche renverrait des ressources dont la valeur dateModified est Décembre 2009 (aucune parenthèse requise).

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 le signe caret (^) 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 important, optimisez-le en utilisant la syntaxe de recherche qualité air^4. Cette recherche renverra des documents dans lesquels le terme air semble plus important. Vous pouvez également optimiser les termes de phrase en utilisant la syntaxe de recherche suivante : "qualité air"^4 "qualité eau". Le facteur d'optimisation par défaut est 1. Le facteur d’optimisation peut être inférieur à un, mais il doit s’agir d’un nombre positif, par exemple, qualité air^0.2.

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 les opérateurs booléens suivants :

  • L'opérateur OU est l'opérateur de conjonction par défaut. Ce qui signifie que s'il n'y a aucun opérateur booléen entre deux termes, l'opérateur OR est utilisé. L'opérateur OR lie les deux termes et trouve un document correspondant si l'un des termes existe dans un document. Ceci équivaut à une union entre deux ensembles. L’opérateur || peut être utilisé à la place du mot OR.
  • 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. L’opérateur && peut également être utilisé à la place du mot AND.
  • L'opérateur + nécessite que le terme après le + existe quelque part dans un champ d'un seul document.
  • L'opérateur NOT exclut les documents qui contiennent le terme situé après le mot NOT. Ceci équivaut à une différence entre deux ensembles. Le point d’exclamation (!) peut aussi être utilisé à la place du mot NOT.
    Remarque :

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

Remarque :

Les opérateurs booléens sont sensibles à la casse.

Regroupement

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

Groupement de champs

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