【发布时间】:2013-07-25 03:24:03
【问题描述】:
在 postgres 数据库中,我们有一个表 table1 和列 column1,其类型是文本。 我们为该列创建了一个索引 CREATE INDEX idx_column1 ON table1 USING gin (to_tsvector('english', column1));
问题是,为什么当我们执行这个查询时
SELECT *
FROM table1
where to_tsvector('english', column1) @@ to_tsquery('searchedText')
使用了索引,但是这个查询没有使用索引
SELECT *
FROM table1
where ts_match_vq(to_tsvector('english', column1),to_tsquery('searchedText'))
【问题讨论】:
-
ts_match_vq(to_tsvector('english', column1) @@ to_tsquery('searchedText'))这对我不起作用。该函数被定义为期望一个 ts_vector 和一个 ts_query。在您的示例中,您正在向它传递一个布尔值,我的 9.1 对此抱怨。 -
抱歉,已更正问题。而不是 ts_match_vq(to_tsvector('english', column1) @@ to_tsquery('searchedText')) 我想问 to_tsvector('english', column1) @@ to_tsquery('searchedText' )
标签: postgresql indexing full-text-search