Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 13/10/2008 17:03:14
- justine2401
- Membre
recherche de phrase
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
#2 13/10/2008 17:14:23
- gleu
- Administrateur
Re : recherche de phrase
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
#3 13/10/2008 17:20:45
- justine2401
- Membre
Re : recherche de phrase
Un grand merci ;-)
Hors ligne
Pages : 1