Open FlavieSauvebois opened 4 weeks ago
Vu avec David après le Stand-up - voir si on fait 2 recherches (une par SIREN et une par SIREN) ou si une seule suffit est elle recherche à la fois sur le SIRET ou le SIREN - à voir ce qui est le plus simple à mettre en place
Y aurait-il un intérêt à proposer de l'autocomplétion, i.e. la recherche commence dès qu'on a tapé un nombre minimal de caractères ? Ce mode de recherche permettrait d'unifier "naturellement" les recherches par SIREN et SIRET.
Actuellement, le moteur de recherche utilise l'opérateur $text de MongoDB, qui permet de rechercher une valeur dans tous les champs des documents. Malheureusement, cette recherche ne permet de rechercher que des valeurs exactes :(
Il y a plusieurs possibilités pour contourner cette limitation, notamment :
$text
par une recherche $regex
sur tous les champs concernésLa deuxième solution n'est pas élégante (duplication de données), mais corrigerait la recherche sans toucher au code source. Je conseillerais probablement la première, mais je vais laisser décanter un peu les choses, voir si j'ai une meilleure idée.
NB : la recherche $regex
est potentiellement plus dangereuse que $search
, elle nécessite probablement de nettoyer le terme de recherche pour supprimer tous les caractères spéciaux.
J'ai soumis (pull request #208) une solution qui me paraît être meilleure, i.e. compléter la recherche $text
existante par une recherche $regex
sur le champ "siret", les deux critères étant reliés par un "ou" logique.
Bonjour Laurent, Merci pour tes investigations et ta proposition. J'en parle avec Georges-André lors de notre prochain point en équipe (le 11/07).
En fait, si ça ne tenait qu'à moi, je ferais une recherche de type "autocomplete", i.e. qui affiche les résultats au fur et à mesure qu'on tape (par exemple, à partir de 3 caractères). Certes, ça augmenterait le nombre de requêtes sur le backend, mais je trouve que l'ergonomie serait plus réactive pour l'utilisateur.
Déployé en développement pour recette: https://dev-referentiel.apprentissage.onisep.fr
Il serait intéressant de pouvoir rechercher les OF appartenant au même groupe sur le Référentiel en intégrant la possibilité de rechercher par SIREN. Aujourd'hui la recherche peut se faire seulement sur le SIRET.
Ex : 824092688 00178 SIREN SIRET