Vypadá to, že ve skutečnosti chcete hledat zřetězení všech těchto polí.
Mohli byste vytvořit dotaz přesně takto
... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')
a vytvořte index na přesně stejném výpočtu:
create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))
Nezapomeňte použít coalesce
na sloupcích přijímajících hodnoty NULL.