Project

General

Profile

Development #94690

Optimisation de la purge du dictionnaire de recherche FTS (wcs_search_tokens)

Added by Benjamin Dauvergne 6 days ago. Updated 5 days ago.

Status:
Solution proposée
Priority:
Normal
Target version:
-
Start date:
01 September 2024
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

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/.-]*$'
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
qui peut donc être retirée

History

#3

Updated by Benjamin Dauvergne 6 days ago

  • Assignee set to Benjamin Dauvergne
#4

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 :

#5

Updated by Robot Gitea 5 days ago

  • Status changed from En cours to Solution proposée
#6

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 :

Also available in: Atom PDF