annuaire-entreprises-data-gouv-fr / search-api

MIT License
16 stars 2 forks source link

[Géolocalisation] Erreur de parsing lorsque le radius est de 0 #375

Closed MKCG closed 4 months ago

MKCG commented 4 months ago

Sujet du problème

Actuellement le champs radius accepte 0 pour valeur minimale et aboutit à une requête de geo distance recherchant les établissements dans un rayon de 0 km. Or Elasticsearch (et Lucene), impose une distance minimale strictement supérieure à 0, par exemple 0.001

Comment le reproduire ?

Par exemple, la recherche suivante aboutit à une erreur d'interprétation de la requête pour cette raison : https://recherche-entreprises.api.gouv.fr/near_point?lat=48.6938081&long=2.1168451&radius=0

Tandis que les recherches suivantes fonctionnent :

Comportement attendu

Soit :

HAEKADI commented 4 months ago

Oui, normalement le radius doit être supérieur à 0 mais avec la refacto de l'API et l'introduction de Pydantic, ce bug est introduit.