0
我想基於id(1-111.1x)和我的行的名稱字段構建tsvector,全部來自觸發器和tsvector_update_trigger(tsv,'pg_catalog.german' ,id,name)。Postgres全文搜索自定義tsvector轉換
但是我的ID最終被截斷爲'-111.1'而不是'1-111.1x'。
有沒有一種方法可以自定義轉換,以便在正確轉換名稱字段的同時保留id字段(或應用某些操作,如lower())?
像這樣的東西(它不工作,因爲setweight期望tsvector)?
CREATE FUNCTION tsv_trigger() RETURNS trigger AS $$
begin
new.tsv :=
setweight(new.id, 'A') ||
setweight(to_tsvector('pg_catalog.german', coalesce(new.name,'')), 'D');
return new;
end
$$ LANGUAGE plpgsql;
CREATE TRIGGER TS_tsv
BEFORE INSERT OR UPDATE ON "model"
FOR EACH ROW EXECUTE PROCEDURE
tsv_trigger();
謝謝!