JDONREFv4 Query : Différence entre versions
(→Principe) |
(→Filtres : filtre sur la géométrie) |
||
Ligne 31 : | Ligne 31 : | ||
{ |
{ |
||
− | " |
+ | "filtered" : { |
− | + | "query": { |
|
− | + | "jdonrefv3es" : { |
|
− | + | "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" |
|
− | + | } |
|
− | + | }, |
|
− | + | "filter" : { |
|
− | + | "geo_shape": { |
|
− | + | "geometrie" : { |
|
− | + | "shape" : { |
|
− | + | "type" : "enveloppe", |
|
− | + | "coordinates": [[13,53],[14,52]] |
|
− | + | } |
|
− | } |
||
} |
} |
||
− | + | } |
|
+ | } |
||
} |
} |
||
} |
} |
Version du 27 avril 2014 à 17:28
La requête jdonrefv3es du plugin éponyme permet de chercher efficacement des adresses correspondant aux types de JDONREFv3.
{ "query": { "jdonrefv3es" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" } } }
Les résultats de la requête dépendent de la configuration du plugin.
Sommaire
Filtres
Il est possible de la combiner avec des filtres, par exemple pour limiter les résultats à un département précis :
{ "filtered" : { "query": { "jdonrefv3es" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" } }, "filter": { "term" : { "departement" : "75" } } } }
Ou de restreindre la recherche à une zone géographique :
{ "filtered" : { "query": { "jdonrefv3es" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" } }, "filter" : { "geo_shape": { "geometrie" : { "shape" : { "type" : "enveloppe", "coordinates": [[13,53],[14,52]] } } } } } }
Principe
ElasticSearch étant un moteur d'indexation à plat, il ne fait pas nativement de distinction entre les termes qu'il indexe.
Toutefois, dans une adresse, les éléments qui la compose peuvent avoir une importance très différente dans l'adresse.
Par exemple concernant la requête :
57 BD DE L HOPITAL 75 PARIS
A la saisie de cette adresse, on ne s'attendrait pas à retrouver des résultats tels que :
75 BD DE L HOPITAL 75013 PARIS (le numéro de voie 75) 75 rue de paris 57 L HOPITAL (la ville l'hopital en moselle, la voie n'existe pas il s'agit d'un exemple)
Exemples
A cet effet, le comportement recherché par cette requête est le suivant :
requête | meilleur résultat | détail |
"130 [RUE] [REMY] [DUHEM]" [59500] [DOUAI] [FRANCE] | le numéro 130 de la rue Rémy Duhem à Douai | Au moins l'un des éléments de la voie côte à côte, et un élément de la commune, quelque soit l'ordre. |
"130 [RUE] [REMY] [DUHEM]" [59] [DOUAI] [FRANCE] | le numéro 130 de la rue Rémy Duhem à Douai | Au moins l'un des éléments de la voie côte à côte, et un élément de la commune, quelque soit l'ordre. Résultat garanti suivant existence d'une voie similaire (ou d'une commune similaire) dans le département ou le pays (voire au delà), quelque soit l'ordre. |
"[RUE] [REMY] [DUHEM]" [59500] [DOUAI] [FRANCE] | la rue Rémy Duhem à DOUAI | Au moins l'un des éléments de la voie côte à côte, et un élément de la commune, quelque soit l'ordre. |
"[RUE] [REMY] [DUHEM]" [59] [DOUAI] [FRANCE] | la rue Rémy Duhem à DOUAI | Au moins l'un des éléments de la voie côte à côte, et un élément de la commune, quelque soit l'ordre. Résultat garanti suivant existence d'une voie similaire (ou d'une commune similaire) dans le département ou le pays (voire au delà), quelque soit l'ordre. |
[59500] [DOUAI] [FRANCE] | la ville de DOUAI | L'un, l'autre, ou les deux |
59505 [DOUAI] [FRANCE] | la ville de DOUAI | Avec une erreur sur le code postal |
[59] DOUAI [FRANCE] | la ville de DOUAI | Quelque soit l'ordre |
59 [FRANCE] | le département 59 | Quelque soit l'ordre |
FRANCE | Le pays FRANCE |
Tout en tenant compte des synonymes et de la phonétique bien sûr ...
Effets de bord
Les exemples présentés ci-dessus induisent nécessairement des effets de bords compréhensibles sur certaines recherches.
Par exemple :
Il ne faut pas s'attendre à trouver comme meilleur résultat l'avenue de france en effectuant une recherche sur le mot clé "FRANCE".