Postgres:全文搜索如何与TSVECTORS和TSQUERY一起使用

时间:2014-09-03 14:42:06

标签: postgresql

我使用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
                                      )

0 个答案:

没有答案