Before waking up properly, I wrote:
> Querying is a bit awkward, but works:
>
> SELECT *
> FROM test
> WHERE tsvector_concat(
> to_tsvector('english', CASE lang WHEN 'english' THEN text ELSE '' END),
> to_tsvector('german', CASE lang WHEN 'german' THEN text ELSE '' END))
> @@ to_tsquery('english', 'hello');
>
> Putting most of the above into a query would work
That should be "Putting most of the above into a VIEW would work"! The
example would be:
CREATE VIEW test_v AS
SELECT lang, text, tsvector_concat(
to_tsvector('english', CASE lang WHEN 'english' THEN text ELSE '' END),
to_tsvector('german', CASE lang WHEN 'german' THEN text ELSE '' END))
AS tsvec
FROM test;
Allowing you to do:
SELECT lang, text
FROM test_v
WHERE tsvec @@ to_tsquery('english', 'hello');
Sam