ts_rank() 是一个系统函数,用于计算一个 tsvector 与一个 tsquery 匹配程度的分数。
ts_rank() 在 PostgreSQL 8.3 中被添加。
用法
ts_rank ( [weightsreal[], ]vectortsvector,querytsquery[,normalizationinteger] ) →real
如果提供的 tsquery 与 tsvector 文档不匹配,则返回 0.0(或接近该值的值,例如 1e-20)。
ts_rank_cd() 提供类似的功能,使用覆盖密度算法。
变更历史
- PostgreSQL 8.3
- 添加(提交 140d4ebc)
示例
ts_rank() 的基本用法示例
postgres=# SELECT ts_rank(to_tsvector('The Quick Brown Fox'), plainto_tsquery('brown'));
ts_rank
------------
0.06079271
(1 row)
postgres=# SELECT ts_rank(to_tsvector('The Quick Brown Fox'), plainto_tsquery('brown fox'));
ts_rank
------------
0.09910322
(1 row)
在上面的示例中,第二个查询得到了更高的返回值,因为更多的词匹配了原始文档。
