使用列作为 to_tsquery 的输入

use a column as an input for to_tsquery

我有一个 table T1,只有一列有 2000 个不同的单词。还有一个tableT2有一列一个词。我想找到 T2 中的记录,它们的单词是否与 T1 中的单词之一匹配。 所以想象 T1 看起来如下:

word
------
regents
sky
tree
trees
avenue

T2是这样的:

tags    |  id|   usrid
--------+----+--------
shifs   |   1|      @1
trees   |   2|      @2
sky     |   3|      @3
regents |   4|      @4
regent  |   5|      @5

我想得到如下结果:

tags    |  id|   usrid
--------+----+--------
trees   |   2|      @2
sky     |   3|      @3
regents |   5|      @5

我可以使用以下查询从 T2 中搜索标签列,但我想使用 T1 中的 word 列作为 tsquery 的输入。

SELECT *
FROM T2
WHERE to_tsvector(tags) @@ to_tsquery('regent');

这将是表之间的简单连接:

SELECT t2.*
FROM t1 JOIN t2
   ON t2.tags = t1.word;

无需全文搜索!