微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – Postgres的全文搜索何时支持词组匹配和邻近匹配?

从Postgres 8.4开始,数据库fts不支持精确的短语匹配,如果给出2个术语,它也不支持邻近匹配.例如,没有办法告诉Postgres匹配单词#1的内容,该单词位于单词#2的指定邻近区域.任何人都知道Postgres的计划,可能支持哪个版本的短语和邻近匹配?

解决方法

Postgresql 9.6文本搜索现在支持短语

select
  *
from (values
  ('i heart new york'),('i hate york new')
) docs(body)
where
  to_tsvector(body) @@ phraseto_tsquery('new york')

(1 row retrieved)

或者单词之间的距离:

-- a distance of exactly 2 "hops" between "quick" and "fox"
select
  *
from (values
  ('the quick brown fox'),('quick brown cute fox')
) docs(body)
where
  to_tsvector(body) @@ to_tsquery('quick <2> fox') 

(1 row retrieved)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐