Parece que o que você quer é, na verdade, pesquisar a concatenação de todos esses campos.
Você poderia construir uma consulta fazendo exatamente isso
... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')
e construa um índice exatamente na mesma computação:
create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))
Não se esqueça de usar
coalesce
em colunas que aceitam valores NULL.