Development #13061
api de recherche d'utilisateurs: gérer les accents
0%
Description
Actuellement l'API de recherche des utilisateurs impose une égalité de recherche, accents compris (noel et noël ne sont pas équivalents). Il faudrait rendre le système de recherche plus souple et permettre de retourner les utilisateurs correspondants, accents ou non.
Piste : utilisation de l'extension pg_trgm https://www.postgresql.org/docs/9.1/static/pgtrgm.html
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
C'est pas plutôt unaccent1 qu'on voudrait utiliser ? Les trigrames ou levensthein c'est plus pour de la recherche approchée.
Mis à jour par Frédéric Péters il y a plus de 7 ans
Thomas souhaitait également faire de la recherche approchée sur le nom.
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
create extension unaccent; create extension pg_trgm; -- unaccent ne peut pas être utilisé directement dans un index parce que pas 'immutable' CREATE OR REPLACE FUNCTION myunaccent(varchar) RETURNS varchar AS $$ select unaccent('unaccent',$1::text); $$ LANGUAGE 'sql' IMMUTABLE; create table test (t text); CREATE INDEX trgm_idx ON test USING gist (lower(myunaccent(t)) gist_trgm_ops); insert INTO test (t) VALUES ('Thomas Noël'), ('Noël Graët'), ('Noëlle Pernat'); select t, similarity(t, 'noiel thomas') from test order by similarity(t, 'noiel thomas') desc limit 3; t | similarity ---------------+------------ Thomas Noël | 0.5625 Noël Graët | 0.0909091 Noëlle Pernat | 0.08 (3 lignes)
À tester avec une plus grosse liste de noms mais c'est déjà pas mal.
Mis à jour par Frédéric Péters il y a plus de 7 ans
Avant de partir sur tout ça, il faut assurer que nos db sont dans les bonnes locales.
Genre :
wcs_demarches_alfortville_fr | wcs-au-quotidien | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(c'est connu de Thomas et moi mais je ne sais pas s'il y a un ticket).
Mis à jour par Thomas Noël il y a plus de 7 ans
- Lié à Development #14159: système de recherche central (utilisateurs, demandes, base de connaissance) ajouté
Mis à jour par Frédéric Péters il y a environ 7 ans
Proposition de passer outre postgresql et simplement lors de la création des chaines à indexer d'aussi en ajouter des versions sans accent. (et le faire pour la recherche fts sur les formdata aussi).
Mis à jour par Frédéric Péters il y a environ 7 ans
- Fichier 0001-general-search-for-users-without-looking-at-accents-.patch 0001-general-search-for-users-without-looking-at-accents-.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a environ 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 1f1ebe035f7e20ef36c2ac216fa9087f9f15a264 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Mar 31 14:42:38 2017 +0200 general: search for users without looking at accents (#13061)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
general: search for users without looking at accents (#13061)