Projet

Général

Profil

Development #63571

[Recherche usager] manque autocomplétion avec 2,3,4 lettres

Ajouté par Anaïs Ecuvillon → en congés, retour le 30/04 il y a environ 2 ans. Mis à jour il y a 8 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
05 avril 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

En formation admin fonctionnel de Berre, on a constaté côté BO que l'autocomplétion lors de la recherche d'un usager a un comportement inattendu.
Ex. il existe l'usager "BRUCIAMACCHIE"

Quand on tape la première lettre 'b', il est proposé 3 usagers (Brice, Benjamin, Bouthaïna)
Quand on tape la deuxième, la troisième et la quatrième lettre 'bruc', il n'est pas proposé d'usager en autocomplétion
Quand on tape la cinquième lettre 'bruci', alors le nom de l'usager apparaît.


Demandes liées

Lié à Authentic 2 - Development #80940: Amélioration de l'autocomplétionFermé06 septembre 2023

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a environ 2 ans

  • Projet changé de Combo à Authentic 2

La recherche des usagers appelle l'API dédiée dans authentic (/api/users/?q=...), je déplace le ticket.

#2

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

Avec l'implémentation actuelle c'est normal, ça recherche par trigramme et donc il faut taper un truc approximatif mais complet parce que sinon il n'y a pas assez de correspondance pour que ça remonte.

Ici la volonté c'est de rechercher un préfixe du nom en priorité (avec un score de 1) on pourrait faire ça mais il faudrait revoir l'index trigramme qui actuellement indexe 'prénom nom' et pas 'nom prénom', ça rejoint #42639 où j'indiquais qu'il aurait mieux valu avoir un champ search_name pour y mettre ce qu'on veut que de hardcoder l'expression 'prénom nom' dans le code. Ça aurait donner du code SQL comme

SELECT ... (CASE WHEN search_name LIKE %(search)s || '%' THEN 1 ELSE similarity(%(searchs), search_name) END) AS score FROM ... WHERE search_name LIKE %(search)s || '%' OR %(search)s % search_name

Et au niveau de l'OU on pourrait configurer search_name à {{last_name}} {{ first_name }}.

#3

Mis à jour par Anaïs Ecuvillon → en congés, retour le 30/04 il y a environ 2 ans

Benjamin Dauvergne a écrit :

on pourrait faire ça mais il faudrait revoir l'index trigramme qui actuellement indexe 'prénom nom' et pas 'nom prénom', ça rejoint #42639 où j'indiquais qu'il aurait mieux valu avoir un champ search_name pour y mettre ce qu'on veut que de hardcoder l'expression 'prénom nom' dans le code...

oui ça a du sens de rechercher en priorité sur le nom de famille, c'est le réflexe des agents en BO.

#5

Mis à jour par Anaïs Ecuvillon → en congés, retour le 30/04 il y a environ 2 ans

Arles décrit un comportement du moteur de recherche qui me semble être lié, #58504

#6

Mis à jour par Brice Mallet il y a environ 2 ans

oui ça a du sens de rechercher en priorité sur le nom de famille, c'est le réflexe des agents en BO.

+1
simplement configurer search_name à {{last_name}} {{ first_name }} résoudrait nombre de comportements jugés aberrants (c'est très logique de rechercher sur un nom plutôt qu'un prénom, le prénom étant bien moins pertinent pour une recherche de personnes)

#7

Mis à jour par Benjamin Dauvergne il y a 8 mois

#8

Mis à jour par Benjamin Dauvergne il y a 8 mois

  • Statut changé de Nouveau à Fermé

Je ferme ce ticket, j'en ai ouvert un autre plus ciblé sur un développement, la réponse à la question a été donnée.

Formats disponibles : Atom PDF