pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
表 9.37、 表 9.38以及 表 9.39 总结了为全文检索提供的函数和操作符。PostgreSQL的文本检索功能的详细解释可参考第 12 章。
表 9.37. 文本搜索操作符
| 操作符 | 描述 | 示例 | 结果 |
|---|---|---|---|
@@ |
tsvector 是否匹配 tsquery? |
to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') |
t |
@@@ |
@@ 的已弃用同义写法 |
to_tsvector('fat cats ate rats') @@@ to_tsquery('cat & rat') |
t |
|| |
串接 tsvector |
'a:1 b:2'::tsvector || 'c:1 d:2 b:3'::tsvector |
'a':1 'b':2,5 'c':3 'd':4 |
&& |
将 tsquery 进行 AND 组合 |
'fat | rat'::tsquery && 'cat'::tsquery |
( 'fat' | 'rat' ) & 'cat' |
|| |
将 tsquery 进行 OR 组合 |
'fat | rat'::tsquery || 'cat'::tsquery |
( 'fat' | 'rat' ) | 'cat' |
!! |
对 tsquery 取反 |
!! 'cat'::tsquery |
!'cat' |
@> |
tsquery 是否包含另一个查询? |
'cat'::tsquery @> 'cat & rat'::tsquery |
f |
<@ |
tsquery 是否被包含于另一个查询? |
'cat'::tsquery <@ 'cat & rat'::tsquery |
t |
tsquery 包含操作符只考虑两个查询中列出的词位,忽略组合操作符。
除了表中列出的操作符,tsvector 和 tsquery 类型还定义了普通的 B-树比较操作符(=、< 等)。这些操作符对文本检索用处不大,但可以用于其他用途,例如在这些类型的列上建立唯一索引。
表 9.38. 文本搜索函数
所有接受一个可选的regconfig参数的文本检索函数在省略该参数时,会使用由default_text_search_config指定的配置。
表 9.39中的函数被单独列出,因为它们通常不被用于日常的文本检索操作。 它们有助于开发和调试新的文本检索配置。
表 9.39. 文本搜索调试函数
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。