Vous n'êtes pas identifié(e).
Pages : 1
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.
Hors ligne
En fait, ta requête est bonne, mais il faut lui ajouter un like. Par exemple :
SELECT id,titre FROM doc WHERE vec_description @@ to_tsquery('crimes & against & humanity') and description ilike '%crimes against humanity%'
Tu bénéficies toujours de la puissance et des performances de la recherche plein texte, mais tu lui ajoutes l'exactitude des recherches LIKE.
Guillaume.
Hors ligne
Un grand merci ;-)
Hors ligne
Pages : 1