Projet

Général

Profil

Bug #43235

opendatasoft: faire la recherche sur le terme précis.

Ajouté par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 4 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
22 mai 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Par exemple il est souhaitable de faire la recherche sur les caractères ':',
sans qu'ils soient interprétés comme des opérateurs (https://help.opendatasoft.com/apis/ods-search-v1/#query-language)


Fichiers


Demandes liées

Lié à Passerelle - Development #43224: opendatasoft vs :Nouveau22 mai 2020

Actions
Lié à Passerelle - Bug #65208: GET https://data.education.gouv.fr/api/records/1.0/search/?dataset=fr-en-annuaire-education&q=%A9...Fermé13 mai 2022

Actions

Révisions associées

Révision 377bfada (diff)
Ajouté par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

opendatasoft: remove operators form query parameter (#43235)

Historique

#1

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 4 ans

#2

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 4 ans

  • Description mis à jour (diff)
#4

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

  • Lié à Bug #65208: GET https://data.education.gouv.fr/api/records/1.0/search/?dataset=fr-en-annuaire-education&q=%A9... ajouté
#6

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

On pourrait ici traiter les principaux cas (et laisser dans #43224 celui du ":" qui pose problème), en encadrant la chaîne recherchée par des guillemets : q="...".
ex: &q="("

#7

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

#8

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

On perd la possibilité d'utiliser les opérateurs de recherche, mais j'ai l'impression que ce n'est pas utilisé.

#9

Mis à jour par Benjamin Dauvergne il y a presque 2 ans

  • Statut changé de Solution proposée à En cours

Nicolas Roche a écrit :

On perd la possibilité d'utiliser les opérateurs de recherche, mais j'ai l'impression que ce n'est pas utilisé.

Pour moi la solution n'est pas bonne on perd la recherche full text en faisant ça, leur doc dit qu'une chaîne quotée sera recherchée exactement alors que des termes séparées sont recherchés pour les sous-chaînes. Il faudrait plutôt retirer ce qui ne passe pas, tous les symboles, splitté puis retiré les 3/4 chaînes qui ne passent pas non plus comme AND, NOT et OR et les chaînes de moins de 2 caractères qui n'apportent rien.

terms = re.split('[^\w]', query)
terms = [term for term in terms if len(term) > 1 and term.lower() not in ['and', 'or', 'not']]
query = ' '.join(terms)
#10

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

on perd la recherche full text en faisant ça

Bien vu, merci !

#12

Mis à jour par Benjamin Dauvergne il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#13

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 377bfada8efb29e62abcd0016941a25615b13d48
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Fri May 27 12:09:37 2022 +0200

    opendatasoft: remove operators form query parameter (#43235)
#14

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#15

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF