Development #87906
Rendre la recherche sur les rôles insensible aux accents (unaccent)
0%
Description
Actuellement on fait un icontains simple :
# extrait de manager/role_views.py : class UserOrRoleSelect2View(DetailView): ... @staticmethod def filter_queryset(qs, search_term, search_fields): lookups = Q() for term in [term for term in search_term.split() if not term == '']: lookups &= reduce(Q.__or__, (Q(**{'%s__icontains' % field: term}) for field in search_fields)) return qs.filter(lookups)
Il semble qu'avec ce qui est installé sur Authentic on pourrait ajouter sans frais un __unaccent__
: https://docs.djangoproject.com/en/3.2/ref/contrib/postgres/lookups/#unaccent
Mais il y a ce warning dans la doc : « unaccent lookups should perform fine in most use cases. However, queries using this filter will generally perform full table scans, which can be slow on large tables. In those cases, using dedicated full text indexing tools might be appropriate. ». Et là je ne sais pas très bien ce qu'ils appellent des « large tables », si c'est un grand nombre de colonnes ou la présence de beaucoup de lignes (dans ce cas ça n'ira pas, on veut quelque chose qui répond (très) vite).
Demandes liées
Révisions associées
Revert manager: search role with unaccent lookup (#87906)
This reverts commit 67674f56f920c5f2195c68c356bc64c944add38b.
manager: search role with unaccent lookup (#87906)
Historique
Mis à jour par Robot Gitea il y a environ 2 mois
- Statut changé de Nouveau à En cours
- Assigné à mis à Thomas Noël
Thomas NOËL (tnoel) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/272
- Titre : WIP: manager: search role with unaccent lookup (#87906)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/272/files
Mis à jour par Thomas Noël il y a environ 2 mois
Vu avec des collègues : il faut "ajouter un index au niveau unaccent" et c'est déjà quelque chose qui existe, cf https://git.entrouvert.org/entrouvert/authentic/src/branch/main/src/authentic2/migrations/0028_trigram_unaccent_index.py
Mis à jour par Robot Gitea il y a environ 2 mois
- Statut changé de Solution proposée à En cours
Thomas NOËL (tnoel) a commencé à travailler sur une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/272
- Titre : WIP: manager: search role with unaccent lookup (#87906)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/272/files
Mis à jour par Robot Gitea il y a 29 jours
- Statut changé de Solution proposée à Solution validée
Benjamin Dauvergne (bdauvergne) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 28 jours
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/272
- Titre : manager: search role with unaccent lookup (#87906)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/272/files
Mis à jour par Thomas Noël il y a 28 jours
- Statut changé de Résolu (à déployer) à En cours
On a un crash certainement lié au mode multitenant/schema : django.db.utils.ProgrammingError: function immutable_unaccent(text) does not exist
Je revert de façon "brute", car la migration n'a réussie nulle part et peut donc certainement être oubliée.
Mis à jour par Thomas Noël il y a 28 jours
commit 16b714c01ffc52eaab9dc249f487e973154d6e44 Author: Thomas NOËL <tnoel@entrouvert.com> Date: Sat Mar 30 14:50:47 2024 +0100 Revert manager: search role with unaccent lookup (#87906) This reverts commit 67674f56f920c5f2195c68c356bc64c944add38b.
Mis à jour par Robot Gitea il y a 24 jours
- Assigné à changé de Thomas Noël à Benjamin Dauvergne
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/289
- Titre : WIP: Recherche sur les rôles insensibles aux accents (#87906)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/289/files
Mis à jour par Benjamin Dauvergne il y a 24 jours
J'ai repris le patch et ajouté les préfixes de schéma manquants, j'ai testé localement dans mon déploiement publik-devinst, la migration passe maintenant.
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a 22 jours
- Lié à Support #89168: Recherche sans accent ne fonctionne pas ajouté
Mis à jour par Robot Gitea il y a 19 jours
Benjamin Dauvergne (bdauvergne) a demandé une relecture de Thomas NOËL (tnoel) sur une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 19 jours
- Statut changé de Solution proposée à Solution validée
Thomas NOËL (tnoel) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 12 jours
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/289
- Titre : Recherche sur les rôles insensibles aux accents (#87906)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/289/files
Mis à jour par Transition automatique il y a 12 jours
- Statut changé de Résolu (à déployer) à Solution déployée
manager: search role with unaccent lookup (#87906)