setweight()
是一个系统函数,用于为 tsvector
的每个元素分配指定的权重。
setweight()
在 PostgreSQL 9.6 中添加。
用法
setweight (vector
tsvector
,weight
"char"
) →tsvector
setweight (vector
tsvector
,weight
"char"
,lexemes
text[]
) →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) Time: 36.421 ms 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()