to_tsvector()
是一个将文本或JSON文档转换为 tsvector
的系统函数。
to_tsvector()
添加于 PostgreSQL 8.3。
用法
to_tsvector ( [config
regconfig
, ]document
text
) →tsvector
to_tsvector ( [config
regconfig
, ]document
json
) →tsvector
to_tsvector ( [config
regconfig
, ]document
jsonb
) →tsvector
单词根据指定的或 默认文本搜索配置 进行规范化。位置信息包含在结果中。
更改历史记录
- PostgreSQL 10
- 添加了对JSON数据类型的支持 (提交 e306df7f)
- PostgreSQL 8.3
- 添加 (提交 140d4ebc)
示例
to_tsvector()
的基本用法示例
postgres=# SELECT to_tsvector('The Quick Brown Fox'); to_tsvector ----------------------------- 'brown':3 'fox':4 'quick':2 (1 row)
请注意,将文本值直接转换为 tsvector
会跳过规范化步骤,这意味着停用词等将包含在生成的 tsvector
中,但不会包含位置信息。
postgres=# SELECT 'The Quick Brown Fox'::tsvector; tsvector ----------------------------- 'Brown' 'Fox' 'Quick' 'The' (1 row)
将 to_tsvector()
与tsquery结合使用
postgres=# SELECT plainto_tsquery('foxes which are quick and brown') @@ to_tsvector('The Quick Brown Fox'); ?column? ---------- t (1 row)
参考
- PostgreSQL 文档: 文本搜索函数