PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Recherche plein texte Postgres :comment rechercher plusieurs mots dans plusieurs champs ?

Il semble que ce que vous voulez, c'est en fait rechercher la concaténation de tous ces champs.

Vous pourriez construire une requête faisant exactement cela

... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')

et construire un index sur exactement le même calcul :

create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))

N'oubliez pas d'utiliser coalesce sur les colonnes acceptant les valeurs NULL.