返回首页

gbase数据、南大通用产品文档:GBase8c文本检索函数

更新日期:2024年09月11日


get_current_ts_config()
描述:获取文本检索的默认配置。
返回类型:regconfig
示例:
gbase=# SELECT get_current_ts_config();
get_current_ts_config
-----------------------
english
(1 row)

length(tsvector)
描述:tsvector 类型词汇的单词数。
返回类型:integer
示例:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
268
gbase=# SELECT length('fat:2,4 cat:3 rat:5A'::tsvector);
length
--------
3
(1 row)

numnode(tsquery)
描述:tsquery 类型的单词加上操作符的数量。
返回类型:integer
示例:
gbase=# SELECT numnode('(fat & rat) | cat'::tsquery);
numnode
---------
5
(1 row)

plainto_tsquery([ config regconfig , ] query text)
描述:产生tsquery 类型的词汇,并忽略标点。
返回类型:tsquery
示例:
gbase=# SELECT plainto_tsquery('english', 'The Fat Rats');
plainto_tsquery
-----------------
'fat' & 'rat'
(1 row)

querytree(query tsquery)
描述:获取tsquery 类型的词汇可加索引的部分。
返回类型:text
示例:
gbase=# SELECT querytree('foo & ! bar'::tsquery);
querytree
-----------

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
269
'foo'
(1 row)

setweight(tsvector, “char”)
描述:给tsvector 类型的每个元素分配权值。
返回类型:tsvector
示例:
gbase=# SELECT setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A');
setweight
-------------------------------
'cat':3A 'fat':2A,4A 'rat':5A
(1 row)

strip(tsvector)
描述:删除tsvector 类型单词中的position 和权值。
返回类型:tsvector
示例:
gbase=# SELECT strip('fat:2,4 cat:3 rat:5A'::tsvector);
strip
-------------------
'cat' 'fat' 'rat'
(1 row)

to_tsquery([ config regconfig , ] query text)
描述:标准化单词,并转换为tsquery 类型。
返回类型:tsquery
示例:
gbase=# SELECT to_tsquery('english', 'The & Fat & Rats');
to_tsquery
---------------
'fat' & 'rat'
(1 row)

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
270

to_tsvector([ config regconfig , ] document text)
描述:去除文件信息,并转换为tsvector 类型。
返回类型:tsvector
示例:
gbase=# SELECT to_tsvector('english', 'The Fat Rats');
to_tsvector
-----------------
'fat':2 'rat':3
(1 row)

to_tsvector_for_batch([ config regconfig , ] document text)
描述:去除文件信息,并转换为tsvector 类型。
返回类型:tsvector
示例:
gbase=# SELECT to_tsvector_for_batch('english', 'The Fat Rats');
to_tsvector
-----------------
'fat':2 'rat':3
(1 row)

ts_headline([ config regconfig, ] document text, query tsquery [, options text ])
描述:高亮显示查询的匹配项。
返回类型:text
示例:
gbase=# SELECT ts_headline('x y z', 'z'::tsquery);
ts_headline
--------------
x y z
(1 row)

ts_rank([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ])
描述:文档查询排名。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
271
返回类型:float4
示例:
gbase=# SELECT ts_rank('hello world'::tsvector, 'world'::tsquery);
ts_rank
----------
.0607927
(1 row)

ts_rank_cd([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ])
描述:排序文件查询使用覆盖密度。
返回类型:float4
示例:
gbase=# SELECT ts_rank_cd('hello world'::tsvector, 'world'::tsquery);
ts_rank_cd
------------
0
(1 row)

ts_rewrite(query tsquery, target tsquery, substitute tsquery)
描述:替换目标tsquery 类型的单词。
返回类型:tsquery
示例:
gbase=# SELECT ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery);
ts_rewrite
-------------------------
'b' & ( 'foo' | 'bar' )
(1 row)

ts_rewrite(query tsquery, select text)
描述:使用SELECT 命令的结果替代目标中tsquery 类型的单词。
返回类型:tsquery
示例:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
272
gbase=# SELECT ts_rewrite('world'::tsquery, 'select ''world''::tsquery,
''hello''::tsquery');
ts_rewrite
------------
'hello'
(1 row)

角色管理界面可以添加、删除、修改角色以及配置角色相应的权限,给不
同的角色分配不同的监控和管理权限。创建好的角色可以在“用户”界面操作
时分配给相应的用户,从而使不同的用户可以绑定不同的角色,具有不同的操
作统一监控的权限。
角色界面展示如图:

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 37 -
图3.2-7 角色信息
角色列表信息说明:

角色名:操作统一监控的角色的名称

角色描述:对角色的简单描述

状态:角色的是否可用的状态

操作:其中包含了可点击的链接“权限管理”,点击后可进入“权限
管理”界面

使用 RAISE EXCEPTION 语句模拟错误的生成。
语法

元素
描述
限制
语法
error_text
SPL 变量或表达式,包
含错误文本 -746 的错
误消息
必须是字符数据类型并
且在语句块中有效
标识符; 表
达式
ISAM_error
SPL 变量或代表 ISAM
错误号的表达式SPL。
缺省值为 0。
必须返回 SMALLINT 范
围中的值。可以在错误
号前指定一个一元减号
表达式
SQL_error
SPL 变量或表达式,代
表 SQL 错误号
同 ISAM_error
表达式
用法
使用 RAISE EXCEPTION 语句模拟错误或通过定制消息生成错误。ON
EXCEPTION 语句可捕捉生成的异常。
如果省略 ISAM_error,则当出现异常时,数据库服务器将 ISAM 错误代码设置
为零(0)。如果希望指定 error_text ,但不指定 ISAM_error 值,则指定零
(0)为 ISAM_error 的值。
RAISE EXCEPTION 语句可以产生系统生成的异常或用户生成的异常。例如,以下
语句产生错误号 -208:
RAISE EXCEPTION -208, 0;
此处在 EXCEPTION 关键字后需要减号(- )用于错误 -208;大多数错误代码是
负整数。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1236
特殊的错误号 -746
特殊的错误号 -746 允许您生成定制的消息。例如,以下语句产生错误号 -746
并返回引号中的文本:
RAISE EXCEPTION -746, 0, 'You broke the rules';
在下列示例中,alpha 的负值产生异常 -746 并提供描述该问题的特定消息。代
码中应包含 ON EXCEPTION 语句,它俘获异常 -746。
FOREACH SELECT c1 INTO alpha FROM sometable
IF alpha < 0 THEN
RAISE EXCEPTION -746, 0, 'a < 0 found' -- emergency exit
END IF
END FOREACH
当执行 SPL 例程并满足 IF 条件时,数据库服务器返回以下错误:
-746: a < 0 found.
有关作用域和异常兼容性的更多信息,请参阅 ON EXCEPTION。
相关语句
ON EXCEPTION