setweight() 是一个系统函数,用于为 tsvector 的每个元素分配指定的权重。
setweight() 于 PostgreSQL 9.6 中添加。
用法
setweight (vectortsvector,weight"char") →tsvector
setweight (vectortsvector,weight"char",lexemestext[]) →tsvector
使用第一种变体时,指定的 weight 会被分配给 vector 的所有元素。
使用第二种变体时,指定的 weight 会被分配给 vector 中列于 lexemes 中的元素。
变更历史
- PostgreSQL 15
NULL值现在允许 (提交 cbe25dcf)
- PostgreSQL 9.6
- 已添加(提交 6943a946)
示例
setweight() 的基本用法示例
postgres=# SELECT setweight(to_tsvector('the quick brown fox is quick'), 'A'); setweight ----------------------------------- 'brown':3A 'fox':4A 'quick':2A,6A (1 row) postgres=# SELECT setweight( to_tsvector('the quick brown fox is quick'), 'A' ); setweight ----------------------------------- 'brown':3A 'fox':4A 'quick':2A,6A (1 row)
提供一个词语列表,为源 tsvector 中的指定项添加权重
postgres=# SELECT setweight(
to_tsvector('the quick brown fox is quick'),
'A',
'{brown,fox}'
);
setweight
---------------------------------
'brown':3A 'fox':4A 'quick':2,6
(1 row)
参考资料
- PostgreSQL 文档: 文本搜索函数
另请参阅
strip()
