我使用tsvectors和tsquerys的postgres全文搜索。 在我的tsvector中,我有以下条目:
("'22305':3 'de':2 'kingsroad':4 'winterfell':1",)
当我现在使用:
查询此tsvector时SELECT * FROM table
JOIN othertable ON othertable.id = table.id
WHERE othertable.tsvector @@ to_tsquery('<value>')
我得到了不同的结果。如果我用字符串
搜索&#39; kingsroad&#39;
我得到了预期的数据。当字符串是
时&#39;冬&#39;
我不知道。相反,我一无所获。
我理解tsvectors的方式是postgres匹配TSVECTOR中所有字符串的值。所以我不明白我不能同时获取数据。
一些额外的信息:
我在每个表中都有一个tsvector列。我使用:
创建索引create index othertable_search_index on othertable using gin(search_tsvector)
并设置了一个触发器:
create trigger othertable_search_update before update or
insert on othertable
for each row execute procedure
tsvector_update_trigger(search_tsvector,'pg_catalog.german',
attribute,
attribute2,
attribute3
)