PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 04/05/2011 10:30:06

unisol
Membre

Recherche texte non contigu

Bonjour,

je souhaiterais recherche des fragments de mots ou des mots entiers dans mes champs.
ex. soit une désignation produit :

BRAUK.RED.PRESSION D06F-3/4A

je souhaite par exemple retrouver cette designation en recherche dans une zone texte comme ceci

RED PRES   (puis valider)

merci pour votre aide
la recherche full text semble agir sur des documents, je ne sais si cela marche sur une table.

Hors ligne

#2 04/05/2011 10:38:35

gleu
Administrateur

Re : Recherche texte non contigu

Le filtre devra ressembler à ceci : LIKE '%RED%PRES%'. Pas besoin de créer un index, il ne sera pas utilisable avec ce type de recherche.

Quant à la recherche Full Text, elle se fait sur des colonnes de table mais ça ne résoudra pas votre problème. Ce n'est pas fait pour ce type de recherche.


Guillaume.

Hors ligne

#3 04/05/2011 11:55:56

Marc Cousin
Membre

Re : Recherche texte non contigu

Par contre les trigrammes devraient pouvoir le faire (c'est un contrib): http://docs.postgresql.fr/9.0/pgtrgm.html

Mais ça a un défaut: c'est très lent à indexer.


Marc.

Hors ligne

#4 04/05/2011 15:24:31

unisol
Membre

Re : Recherche texte non contigu

j'image que pour que l'utilisateur final n'ai pas à inserer des pourcents (%)
il faudrait créer une fonction le faisant à sa place de telle sorte qu''il
n'ait à saisir que les termes recherchés à l'instar des moteurs de recherche web.

Hors ligne

#5 04/05/2011 16:09:49

gleu
Administrateur

Re : Recherche texte non contigu

Exact.


Guillaume.

Hors ligne

Pied de page des forums