Projet

Général

Profil

Development #86527

amélioration de la recherche texte libre de /api/formdefs

Ajouté par Thomas Noël il y a 3 mois. Mis à jour il y a environ 21 heures.

Statut:
Solution validée
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
05 février 2024
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Sur l'ajout d'une recherche sur les formdef https://git.entrouvert.org/entrouvert/wcs/pulls/707 (#81532) on fait du "fts" classique dans PostgreSQL (je crois).

On se retrouve avec des comportements pas toujours heureux, par exemple en cherchant pour des encombrants, « encomb » ne réponds rien alors que « encombr » si.

Pierre, pourrais-tu analyser cette affaire ? (On peut parfaitement tout revoir au niveau de la table de recherche)

Historique

#2

Mis à jour par Pierre Ducroquet il y a 3 mois

Et effectivement, il faut revoir ça parce que ce que tu décris est bien une limitation du FTS classique de PostgreSQL (et un peu tout le monde).
Sur un projet précédent, nous avions réglé ce problème avec la stratégie suivante (implémentée en triggers et procédures stockées, donc sans impact côté Python):
- extraction des mots depuis les blocs de texte, pour construction d'une unique table listant les mots utilisés
- à l'arrivée d'une requête, récupération des mots "conformes" depuis cette table à l'aide de la recherche par trigrammes de PG
- reconstruction d'une "vraie" requête tsquery depuis les mots conformes

Je vais creuser pour voir les problèmes que cette implémentation avait pu rencontrer, mais de mémoire c'était une révolution sur la qualité des résultats par rapport à du FTS simple ou du trigram simple.

#3

Mis à jour par Frédéric Péters il y a 2 mois

  • Tracker changé de Bug à Development
  • Sujet changé de la recherche sur /api/formdefs n'est pas efficace à amélioration de la recherche texte libre de /api/formdefs
#4

Mis à jour par Robot Gitea il y a environ 2 mois

  • Statut changé de Nouveau à En cours

Pierre Ducroquet (pducroquet) a ouvert une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Robot Gitea il y a environ 2 mois

  • Statut changé de En cours à Solution proposée
#6

Mis à jour par Robot Gitea il y a environ 2 mois

  • Statut changé de Solution proposée à En cours

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#7

Mis à jour par Robot Gitea il y a environ 2 mois

  • Statut changé de En cours à Solution proposée

Pierre Ducroquet (pducroquet) a demandé une relecture de Frédéric Péters (fpeters) sur une pull request sur Gitea concernant cette demande :

#8

Mis à jour par Robot Gitea il y a environ un mois

  • Statut changé de Solution proposée à En cours

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#9

Mis à jour par Robot Gitea il y a 29 jours

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#10

Mis à jour par Robot Gitea il y a 13 jours

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#11

Mis à jour par Robot Gitea il y a 10 jours

  • Statut changé de En cours à Solution proposée

Pierre Ducroquet (pducroquet) a demandé une relecture de Frédéric Péters (fpeters) sur une pull request sur Gitea concernant cette demande :

#12

Mis à jour par Robot Gitea il y a environ 21 heures

  • Statut changé de Solution proposée à Solution validée

Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :

Formats disponibles : Atom PDF