select *,
(to_tsvector('german'::regconfig
,COALESCE("test"."title_de",' ') || COALESCE("test"."description_de",' ') || COALESCE("test"."slug", ' '))::text)
@@ to_tsquery('german'::regconfig, 'bluse') as bluse_check
,to_tsvector('german'::regconfig
,COALESCE("test"."title_de",' ') || COALESCE("test"."description_de",' ')|| COALESCE("test"."slug", ' '))
@@to_tsquery('german'::regconfig, 'Elegante') as Elegante
FROM "test";
---you should use concat_ws. see coalesce and concat_ws difference
with cte as(
select
COALESCE("test"."title_de",' ') || COALESCE("test"."description_de",' ')|| COALESCE("test"."slug", ' ') as x
,concat_ws(' ',"test"."title_de","test"."description_de","test"."slug") as y
FROM "test")
select x = y, x,y
,to_tsvector('german'::regconfig,x) @@to_tsquery('german'::regconfig, 'Elegante')
,to_tsvector('german'::regconfig,y) @@to_tsquery('german'::regconfig, 'Elegante')
from cte;