Vous n'êtes pas identifié(e).

#2 Re : PL/pgSQL » mise à jour d'un trigger lors d'un delete » 15/10/2008 11:11:11

Ok merci.

J'utilise également un index GIN sur vec_description. Celui-ci sera-t-il mis à jour lors d'un delete?? Ma crainte est que si ce n'est pas le cas, après avoir supprimé des enregistrements, si l'index n'est pas à jour, il se peut que, lors d'une recherche, il croie toujours que ces enregistrements existent...

#3 PL/pgSQL » mise à jour d'un trigger lors d'un delete » 15/10/2008 10:00:36

justine2401
Réponses : 4

Bojour,

J'ai une petite question concernant l'utilisation d'un trigger.

J'utilise le trigger suivant :

CREATE TRIGGER tsupdate BEFORE INSERT AND UPDATE
ON doc FOR EACH ROW EXECUTE PROCEDURE
tsvectore_update_trigger(vec_description, 'pg_catalog.english', description)

vec_description étant une colonne contenant tsvector(description)

Lorsque j'ajoute des données dans ma table, vec_description est bien mis à jour et ça prend donc plus de temps. Par contre, lorsque j'en supprime, l'opération est très rapide, j'en conclus que vec_description n'est pas mis à jour.

J'ai bien essayé de rajouter dans mon trigger "BEFORE INSERT OR UPDATE OR DELETE" mais ça ne fonctionne pas...

Quelqu'un peut-il m'aider??

Merci

#5 Général » recherche de phrase » 13/10/2008 17:03:14

justine2401
Réponses : 2

Bonjour,

Je débute avec PostgreSQL et je rencontre un problème concernant la recherche de phrases.
Je m'explique.

J'ai une bd document qui contient une table doc possédant 4 colonnes, à savoir id, titre, description, vec_description qui correspond à tsvector(description).

J'aimerais rechercher les documents qui contiennent un certain ensemble de mots dans leur description, par exemple "crimes against humanity". Pour ce faire, j'exécute la requête

SELECT id,titre FROM doc WHERE vec_description @@ to_tsquery('crimes & against & humanity').

Cela fonctionne seulement ça me retourrne également les documents qui possèdent crimes OU against OU humanity. Mais je ne veux que les documents qui contiennent textuellement "crimes against humanity". Est-ce possible??

D'avance merci.

Pied de page des forums

Propulsé par FluxBB