addok / addok

Search engine for address. Only address.
http://addok.readthedocs.org/
MIT License
324 stars 60 forks source link

Code postal multiple pour une commune #842

Open mtournay opened 1 month ago

mtournay commented 1 month ago

Bonjour

J'ai un problème avec la recherche de municipalité quand une commune a plusieurs codes postaux. Le cas concret est Puygouzon qui possède les codes postaux [81120, 81990]

avec cette recherche, la commune sort : search?q=81120&limit=100&type=municipality avec cette recherche, la commune ne sort pas : search?q=81990&limit=100&type=municipality

Ma configuration : j'utilise docker avec ces images

REPOSITORY           TAG       IMAGE ID       CREATED         SIZE
etalab/addok         latest    b2ff44505cc8   20 months ago   950MB
etalab/addok-redis   latest    560a8d2c6513   20 months ago   117MB

la base de données est mise à jour toutes les nuits

wget https://adresse.data.gouv.fr/data/ban/adresses/latest/addok/addok-france-bundle.zip -q

voici le contenu du fichier adresses-addok-81.ndjson pour cette commune

{"id":"81218","banId":null,"type":"municipality","name":"Puygouzon","postcode":["81120","81990"],"citycode":"81218","x":633461.18,"y":6309928.2,"lon":2.172055,"lat":43.885221,"population":3540,"city":"Puygouzon","context":"81, Tarn, Occitanie","importance":0.35371}

Comment puis-je résoudre ce cas de figure ?

AdrienVH-c2c commented 1 month ago

Bonjour Michel,

Je crois que le code postal n'est pas EN THEORIE indexé. Le fait qu'un résultat remonte en recherchant un code postal dans la query est un effet de bord indésirable. Ceci explique pourquoi le comportement observé semble "incomplet".

Avez-vous essayé de passer plutôt par un filtre "?postcode=XXXXX" plutôt que par la query "?q=XXXXX" ?

Adrien

mtournay commented 1 month ago

Bonjour Adrien

en vérité mon appel se fait comme cela : search?q=81990&postcode=81990&limit=100&type=municipality j'ai le même résultat avec ou sans le filtre postcode

Si je fait un appel sans q= (search?postcode=81990&limit=100&type=municipality), j'ai l'erreur

<?xml version="1.0" encoding="UTF-8"?><error><title>Missing query</title></error>

Michel

jdesboeufs commented 1 month ago

Pour être précis le code postal est bien indexé mais seul le premier est présent dans le libellé complet qui sert à calculer le score. Donc le moteur trouve bien l'entrée, mais le score tombe à 0 donc le résultat est éliminé. Cela fait parti des choses qui sont améliorables mais qui nécessitent un peu de travail.