Development #19092
nanterre: améliorer l'indexation des noms complets des individus
0%
Description
Actuellement on indexe individuellement nom et prénom et on essaie de recalculer une valeur de similarité à partir des similarités partielles ce qui n'est pas idéal.
L'amélioration serait de créer deux index trigram un sur:
NORMALIZE(CONCAT(prenoms, ' ', nom_de_naissance))
le deuxième sur
NORMALIZE(CONCAT(prenoms, ' ', nom_d_usage))
On arrêterait d'essayer de chercher le nom ou le prénom séparément on chercherait directement la chaîne complète prénoms/nom dans les deux index ce qui augmenterait la pertinence des recherches.
Le travail est en cours sur la branche wip/improve-name-search : http://git.entrouvert.org/zoo.git/log/?h=wip/improve-name-search
Fichiers
Demandes liées
Révisions associées
zoo_meta: ajoute une méthode utilitaire pour créer des index trigram (#19092)
zoo_meta: ajoute un hook sur les classes AppConfig pour personnaliser la reconstruction des index (#19092)
zoo_data: ajoute une nouvelle fonction SQL TextCat (#19092)
Pour remplacer les utilisations de CONCAT dans les conditions WHERE qui
ne peut donc pas être indexé, contrairement à l'opérateur || classique.
nanterre: construire des index spécifiques pour les noms complets des individus (#19092)
Deux index sont construits:- prenoms + noms_de_naissance
- prenoms + nom_d_usage
nanterre: améliore la recherche par nom (fixes #19092)
En utilisant les index sur le nom complet plutôt que sur le prénom ou le
nom.
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Fichier 0005-nanterre-construire-des-index-sp-cifiques-pour-les-n.patch 0005-nanterre-construire-des-index-sp-cifiques-pour-les-n.patch ajouté
- Fichier 0002-zoo_meta-ajoute-une-m-thode-utilitaire-pour-cr-er-de.patch 0002-zoo_meta-ajoute-une-m-thode-utilitaire-pour-cr-er-de.patch ajouté
- Fichier 0003-zoo_meta-ajoute-un-hook-sur-les-classes-AppConfig-po.patch 0003-zoo_meta-ajoute-un-hook-sur-les-classes-AppConfig-po.patch ajouté
- Fichier 0001-zoo_meta-reconstruit-les-index-via-les-signaux-19092.patch 0001-zoo_meta-reconstruit-les-index-via-les-signaux-19092.patch ajouté
- Fichier 0004-zoo_data-ajoute-une-nouvelle-fonction-SQL-TextCat-19.patch 0004-zoo_data-ajoute-une-nouvelle-fonction-SQL-TextCat-19.patch ajouté
- Fichier 0006-nanterre-am-liore-la-recherche-par-nom-fixes-19092.patch 0006-nanterre-am-liore-la-recherche-par-nom-fixes-19092.patch ajouté
Les 4 premiers patchs améliorent l'infrastructure zoo en vue des deux derniers
qui crée de meilleurs index et s'en servent dans la recherche.
J'en profite pour réorganiser la classe de recherche, notamment en rendant plus
générique l'aggrégation des filtres et des expressions de score.
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Lié à Development #21415: nanterre: rendre plus souple la recherche par date de naissance ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Lié à Development #21415: nanterre: rendre plus souple la recherche par date de naissance supprimé
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Bloque Development #21415: nanterre: rendre plus souple la recherche par date de naissance ajouté
Mis à jour par Thomas Noël il y a plus de 6 ans
0001 à 0005: ack
0006 : on voit que les patches précédents permettent un nettoyage du code ici, j'aime bien. Rien vu d'étrange ou incompréhensible.
Ack et j'envoie en recette ASAP.
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Statut changé de Nouveau à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit 8f02fb31e7d11797fd5edaa01fc7b3b1127e7092.
Mis à jour par Thomas Noël il y a plus de 6 ans
- % réalisé changé de 100 à 0
* 8f02fb3 nanterre: améliore la recherche par nom (fixes #19092) * 31f1d2b nanterre: construire des index spécifiques pour les noms complets des individus (#19092) * 8684139 zoo_data: ajoute une nouvelle fonction SQL TextCat (#19092) * 6137d25 zoo_meta: ajoute un hook sur les classes AppConfig pour personnaliser la reconstruction des index (#19092) * efaafa5 zoo_meta: ajoute une méthode utilitaire pour créer des index trigram (#19092) * 0884695 zoo_meta: reconstruit les index via les signaux (#19092)
Mis à jour par Thomas Noël il y a plus de 6 ans
J'ai quand même l'impression que 0001 relance l'indexation à chaque "migrate" ? (c'est à dire à chaque mise à jour de zoo...) ?
Mis à jour par Thomas Noël il y a plus de 6 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Déployé sur en recette Nanterre
Mis à jour par Thomas Noël il y a plus de 6 ans
- Lié à Bug #21619: zoo nanterre: ne démarre plus parce que le migrate lance une reindexation full et TimeoutStartSec=30 ajouté
Mis à jour par Thomas Noël il y a plus de 6 ans
- Lié à Bug #21620: crash sur détection de doublons ajouté
zoo_meta: reconstruit les index via les signaux (#19092)
Soit après un signal post_save sur un schéma soit après une migration.