Wygląda na to, że chcesz przeszukać konkatenację wszystkich tych pól.
Możesz stworzyć zapytanie robiące dokładnie to
... where to_tsvector('italian', name||' '||coalesce(decription,'')...) @@ to_tsquery('$word')
i zbuduj indeks na podstawie dokładnie tego samego obliczenia:
create index your_index on shop
using GIN(to_tsvector('italian',name||' '||coalesce(decription,'')...))
Nie zapomnij użyć coalesce
w kolumnach akceptujących wartości NULL.