ts_rank()
是一个用于计算分数的系统函数,该分数显示 tsvector
与 tsquery
的匹配程度。
ts_rank()
添加于 PostgreSQL 8.3。
用法
ts_rank ( [weights
real
[], ]vector
tsvector
,query
tsquery
[,normalization
integer
] ) →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)
在上面的示例中,第二个查询的结果返回值更高,因为更多单词与原始文档匹配。