PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

12.4. 附加特性 #

12.4.1. 操作 tsvector
12.4.2. 操作 tsquery
12.4.3. 自动更新分词触发器
12.4.4. 全文检索统计信息

全文搜索还提供了丰富的辅助分析函数,包括用于统计特定文档词频分布的 ts_stat、利用查询重写表动态扩展同义词的 ts_rewrite 等。

12.4.1. 操作 tsvector #

支持通过拼接操作符(||)合并多个 tsvector,并通过函数 setweight() 为分词赋予权重标签(A、B、C、D)。

12.4.2. 操作 tsquery #

支持通过布尔操作符(&&、||、!!)与短语距离操作符(<->)构建复杂的复合搜索查询表达式。

12.4.2.1. 查询重写 #

函数 ts_rewrite() 支持在查询执行前根据预设的同义词规则自动对 tsquery 进行等价规则展开与重写。

12.4.3. 自动更新分词触发器 #

可以使用内置的 tsvector_update_trigger() 触发器函数,在数据表记录插入或更新时自动根据文本列计算并刷新对应的 tsvector 字段。

12.4.4. 全文检索统计信息 #

通过函数 ts_stat() 可以统计数据表中词元(Lexeme)的全局出现频次与文档覆盖率。