Det ser ut som att det du vill är att söka efter sammanlänkningen av alla dessa fält.
Du kan skapa en fråga som gör exakt detta
... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')
och bygga ett index på exakt samma beräkning:
create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))
Glöm inte att använda coalesce
på kolumner som accepterar NULL-värden.