【发布时间】:2023-01-20 05:55:52
【问题描述】:
我有一个包含这些(相关)字段的 articles 表
CREATE TABLE
IF NOT EXISTS articles (
...
...
title TEXT NOT NULL,
content JSONB NOT NULL,
search_index TSVECTOR NOT NULL,
...
...
);
索引在search_index
CREATE INDEX articles_search_index ON articles USING gin(search_index);
我希望能够在没有任何特定优先级的情况下同时搜索 title 和 content。
我想要对待整个 content 数据作为文本块,而不实际改变其结构。
我希望会起作用:
CREATE TRIGGER articles_search_index_update BEFORE INSERT
OR
UPDATE
ON articles FOR EACH ROW EXECUTE FUNCTION
tsvector_update_trigger
(search_index,
'pg_catalog.english',
title,
content
);
错误 - column \"content\" is not of a character type 这是可以理解的,因为 tsvector_update_trigger 需要文本列。
是否可以在该功能中包含jsonb内容?
【问题讨论】:
-
使用生成的列而不是基于触发器的解决方案怎么样?
标签: postgresql