bonjour, je n’ai pas trouvé de doc détaillé précisant comment fonctionne la recherche data gouv.
Sur le site data gouv, une recherche « trafic routier » me donne 408 jeux de données (le 8/7/26).
Une recherche via la lib datagouv-client donne un résultat différent :
from datagouv import Client, Dataset
client = Client()
datasets = client.get_all_from_api_query(
‹ api/1/datasets/?q=« trafic routier » ›,
cast_as=Dataset, # Retourne des objets Dataset
)
donne 909 datasets.
Une recherche sans les guillemets retourne seulement 68 résultats.
Il y a sans doute une requête ET si la chaine est sans guillemets (mots séparés) ou avec (expression unique), mais pourquoi le résultat est-il différent via la lib (donc via l’API et sur le site) ?
Merci d’avance.
Cordialement
Patrick
Bonjour,
Le site data.gouv.fr utilise le endpoint datasets/search/ uniquement disponible dans l’API v2. Derrière, les recherches s’effectuent via le moteur ElasticSearch, avec de nombreuses optimisations. Une recherche via ce endpoint, avec ou sans guillemet, aura des résultats similaires.
Je vois que vous utilisez le endpoint /datasets/, avec le paramètre « q », de l’API v1 dans votre code. Cela explique le différentiel entre l’UI et vos résultats de script, car ce endpoint utilise un moteur de recherche différent.
Spécifiquement dans votre exemple, comme ce endpoint ajoute des guillemets aux requêtes, il transforme les requêtes sans guillemet en « ET ». Mais lorsque vous en ajoutez, cela fait l’effet inverse, d’où un nombre de résultats plus important avec des guillemets. Il vaut mieux éviter d’utiliser des expressions logiques qui pourraient être traitées différemment de ce qui est attendu, l’implémentation de ce endpoint ne prévoyant pas une autre utilisation que de recevoir les mots-clés brutes, sans caractère spécifique en plus.
Si vous souhaitez obtenir les mêmes résultats que via le site, le endpoint /datasets/search/ de la V2 peut convenir ponctuellement. Cependant, cette version de l’API, qui est encore en beta, pourrait être amenée à évoluer sans notification préalable donc nous ne conseillons pas de l’utiliser en production.
J’espère que cela vous aide.
Cordialement,
Estelle B
bonjour Estelle, merci beaucoup, notamment je n’avais pas vu qu’il y avait une API v1 et v2. A quelle échéance pensez vous basculer vers la v2 ? Et mettre à jour la documentation en ligne ?
Merci d’avance
Bien cordialement,
patrick
Bonjour,
Désolée pour le délai de réponse en cette période estivale.
Il n’y a pas de basculement prévu de la v1 vers la v2, comme c’est une phase expérimentale. Pour l’instant, la v2 a été conçue pour une utilisation interne, cette version pouvant changer sans préavis, donc nous ne mettons pas sa documentation en avant sur notre site.
La v1 reste la version de l’API destinée au grand public.
Si vous avez un cas d’usage en production nécessitant d’utiliser la recherche programmatique par mots-clés de datasets, organisations ou autre via un endpoint API, vous pouvez nous en faire part - ici ou via le support si non public - pour que nous ayons une meilleure connaissance des besoins utilisateurs/utilisatrices.
Excellente semaine à vous,
Estelle B