我有一张名为 posts
的表,其中有一个名为 tags
的列。我希望能够在标签中进行全文搜索。对于 VARCHAR
类型的列,我已经使用了:
CREATE INDEX posts_fts_idx ON posts USING gin(to_tsvector('english', coalesce(title, ''));
SELECT "posts".* FROM "posts" WHERE (to_tsvector('english', coalesce(title, '')) @@ (to_tsquery('english', 'ruby')));
然而,对于"character varying[]",函数"to_tsvector"不存在。可以如何编写查询以针对每个标签运行(如果任何一个标签匹配,则最理想的是匹配)?
注意:我看到将其转换为字符串("array_to_string")非常容易,但如果可能的话,我想将每个单独的标签转换为"tsvector"。
immutable_array_to_string
函数来自哪里? - Jonathan Allardimmutable_array_to_string
的任何文档。 - Carlos Martinez