Development #94690
Optimisation de la purge du dictionnaire de recherche FTS (wcs_search_tokens)
0%
Description
Analyse commencée dans #94400.
Plusieurs points, certains ne pourront pas être traités ici:
1. la majorité des tokens vient des codes de suivi, ça aurait bien de les retirer mais ce n'est pas simple tant qu'ils sont dans la colonne "fts", les retirer éventuellement résoudra de lui même le problème
2. la génération de la colonne fts produit des tokens bizarres qu'on ne peut de toute façon par chercher (mais première tentative de faire des cast token::tsquery
plantait sur certains tokens, je suppose que ça ferait planter wcs_tsquery si on essayait de chercher certains des tokens les plus étranges), je propose d'ajouter un filtre regexp sur ce qu'on ajoute comme token token ~ '^[0-9a-z/
.-]*$'
qui peut donc être retirée
3. en retirant tout ce qui n'est pas la syntaxe normale d'un tsquery on peut utiliser une requête de suppression qui produit un arbre de requête dans postgresql sympathique avec un semi-join de deux index-scan (ici sur un select, ça donnera pareil avec un delete et not exists):
cette méthode directe ne nécessite plus la colonne @wcs_search_tokens.context
History
Updated by Robot Gitea 6 days ago
- Status changed from Nouveau to En cours
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1763
- Titre : WIP: sql: improve use of indexes for purging wcs_search_tokens (#94690)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1763/files
Updated by Robot Gitea 5 days ago
Frédéric Péters (fpeters) a demandé une relecture de Pierre Ducroquet (pducroquet) sur une pull request sur Gitea concernant cette demande :