我目前在 Postgresql 数据库中设置全文搜索,如本手册页所述:http ://www.postgresql.org/docs/9.0/static/textsearch-tables.html
目前我提出了这个声明:
CREATE FUNCTION fts_update() RETURNS trigger AS $$
begin
new.tsv :=
to_tsvector('pg_catalog.english', coalesce(new.title,'')) ||
to_tsvector('pg_catalog.english', coalesce(new.description,'')) ||
to_tsvector('pg_catalog.english',
SELECT array_to_string(array_accum(name), ' ') FROM agencies where id = new.agency_id
);
return new;
end
$$ LANGUAGE plpgsql;
CREATE TRIGGER ftsupdate_trigger BEFORE INSERT OR UPDATE ON camps FOR EACH ROW EXECUTE PROCEDURE fts_update()"
在这里,我需要将另一个表中的一些字段添加到索引中,但 Postgresql 不允许我:
PG::Error: ERROR: syntax error at or near "SELECT"
LINE 9: SELECT array_to_string(array_accum(name), ' ') FROM ...
有什么好的解决方法吗?