JDONREFv4 Query : Différence entre versions
De JDONREF Wiki
Ligne 10 : | Ligne 10 : | ||
Les résultats de la requête dépendent de la [[Jdonrefv3es_plugin_configuration|configuration]] du plugin. |
Les résultats de la requête dépendent de la [[Jdonrefv3es_plugin_configuration|configuration]] du plugin. |
||
+ | |||
+ | =====Filtres===== |
||
Il est possible de la combiner avec des filtres, par exemple pour limiter les résultats à un département précis : |
Il est possible de la combiner avec des filtres, par exemple pour limiter les résultats à un département précis : |
||
Ligne 47 : | Ligne 49 : | ||
} |
} |
||
} |
} |
||
+ | |||
+ | =====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) |
Version du 25 avril 2014 à 19:54
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.
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 :
{ "bool" : { "must" : [ "jdonrefv3es" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS" }, "query" : { "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)