返回首页

gbase数据、南大通用产品文档:GBase8ctsvector

更新日期:2024年09月11日

tsvector 类型表示一个检索单元,通常是一个数据库表中一行的文本字段或者这些字段
的组合。to_tsvector 函数通常用于解析和标准化文档字符串。
tsvector 类型的值是一个唯一标准词位的有序列表。把同一个词的变型体都进行标准化
得到同样的标准词,在输入的同时,tsvector 会自动排序和消除重复。例如:
gbase=# SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector;
tsvector
----------------------------------------------------
'a' 'and' 'ate' 'cat' 'fat' 'mat' 'on' 'rat' 'sat'
(1 row)
从上面的例子可以看出,tsvector 格式中,字符串按照空格进行分词,并按照长短和字
母排序。但是如果词条中需要包含空格或标点符号,可以用引号标记。例如:
gbase=# SELECT $$the lexeme ' ' contains spaces$$::tsvector;
tsvector
----------------------------------------
' ' 'contains' 'lexeme' 'spaces' 'the'
(1 row)
如果在词条中使用引号,可以使用双$$符号作为标记。例如:
gbase=# SELECT $$the lexeme 'Joe''s' contains a quote$$::tsvector;
tsvector
------------------------------------------------
'Joe''s' 'a' 'contains' 'lexeme' 'quote' 'the'
(1 row)
词条位置常量也可以放到词汇中:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
71
gbase=# SELECT 'a:1 fat:2 cat:3 sat:4 on:5 a:6 mat:7 and:8 ate:9 a:10 fat:11
rat:12'::tsvector;
tsvector
-----------------------------------------------------------------------------
--
'a':1,6,10 'and':8 'ate':9 'cat':3 'fat':2,11 'mat':7 'on':5 'rat':12 'sat':4
(1 row)
位置常量通常表示文档中源字的位置,可以用于排名。位置常量的范围是1 到16383,
最大值默认是16383。相同词的重复位会被忽略掉。
拥有位置的词汇可以使用权标记,这个权可以是A、B、C 或D。默认为D。因此输出
中不会显示权为D:
gbase=# SELECT 'a:1A fat:2B,4C cat:5D'::tsvector;
tsvector
----------------------------
'a':1A 'cat':5 'fat':2B,4C
(1 row)
权可以用来反映文档结构,如:
标记标题与主体文字的区别。全文检索排序函数可以为
不同的权标记分配不同的优先级。
以下示例为tsvector 类型标准用法:
gbase=# SELECT 'The Fat Rats'::tsvector;
tsvector
--------------------
'Fat' 'Rats' 'The'
(1 row)
但是对于英文全文检索应用来说,以上单词会判定为非规范化的,所以需要通过
to_tsvector 函数对这些单词进行规范化处理:
gbase=# SELECT to_tsvector('english', 'The Fat Rats');
to_tsvector
-----------------
'fat':2 'rat':3
(1 row)

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

在基于Ubuntu 内核的操作系统中,默认shell 是dash,需要更改shell。其他操作系统
可忽略此操作说明。更改shell 的操作步骤如下:
步骤1 查看当前系统版本信息。

在统信操作系统中,查看当前版本是否基于Ubuntu,使用以下命令(二选一即可)

[root@gbase8c ~]# cat /etc/os-version
[root@gbase8c ~]# cat /etc/os-release
返回的版本信息中,如果EditionName 参数值为”Professional”、”Enterprise”或”d”,则
是基于Ubuntu 的操作系统。

在麒麟操作系统中,查看当前版本是否基于Ubuntu,使用以下命令(二选一即可)

[root@gbase8c ~]# cat /etc/.kyinfo
[root@gbase8c ~]# cat /etc/os-release

GBase 8c V5 安装部署手册(简易版)
南大通用数据技术股份有限公司
25
返回的版本信息中,如果dist_id 参数值是以”Kylin-Desktop”开头,则是基于Ubuntu 的
操作系统。
步骤2 更换bash。使用以下命令:
[root@gbase8c ~]# sudo dpkg-reconfigure dash
并在过程中,选择No 并回车。退出后即可自动切换为bash。

GBase 8c V5 安装部署手册(简易版)
南大通用数据技术股份有限公司
26

oncheck 检查特定磁盘结构的不一致性,修复不一致的索引结构并显示有关磁盘结构的信
息。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 307 -


元素
用途
关键注意事项
- cc
检查系统目录表中的指定数
据库
请参阅 oncheck
-cc 和 -pc:
检查系统目录


GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 308 -
元素
用途
关键注意事项
-cd
从指定数据库、表或分片的
tblspace 中读取除简单大对
象之外的所有页,并检查每页
的一致性
还检查使用用户定义存取方
法的表
不检查简单智能大对象
请参阅 oncheck -cd 和 oncheck -cD :检
查页
-cD
与 -cd 相同,但还读取每个
blobpage 的头并检查其一致

检查简单大对象但不检查智能大对象
请参阅 oncheck -cd 和 oncheck -cD :检
查页
-ce
检查每个可用 chunk 列表和
相应的可用空间以及每个
tblspace extent 。还检查智
能大对象 extent 和
sbspace 元数据
oncheck 进程验证磁盘上的 extents 与描
述它们的当前控制信息相对应。
请参阅 oncheck -ce 、-pe: 检查可用 chunk
列表。
有关背景信息,
请参阅 Next-Extent 分

-ci
检查键值顺序和与指定表相
关联的所有索引的水平和垂
直节点链接的一致性
还检查使用用户定义存取方
法的索引
请参阅 oncheck -ci 和 -cI: 检查索引节
点链接
-cI
与 -ci 相同,但是还检查索
引中 rowid 关联的键值是否
与行中的键值相同
请参阅 oncheck -ci 和 -cI: 检查索引节
点链接
-cr
检查每个 root dbspace 保留
页是否存在几种情况
请参阅 oncheck -cr 和 -cR: 检查保留页
-cR
检查 root dbspace 保留页、
物理日志页和逻辑日志页
请参阅 oncheck -cr 和 -cR: 检查保留页
-cs
检查 sbspace 的智能大对象
和 sbspace 元数据
请参阅 oncheck
-cs 、-cS 、-ps、-pS: 检
查并显示 sbspace
-cS
检查 sbspace 的智能大对象
和 sbspace 元数据以及
extent
请参阅 oncheck
-cs 、-cS 、-ps、-pS: 检
查并显示 sbspace
sbspace
指示可选的 sbspace 名称
如果未提供,那么检查所有的
sbspace

-n
指示不应执行任何索引修复,
即使检测到错误也是如此
与索引修复选项(-ci 、-cI 、-pk 、-pK 、
-pl 和 -pL)一起使用
-pB
显示描述指定表中
这些统计信息衡量数据库或表中的个别简单

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 309 -
元素
用途
关键注意事项
blobspace blobpage 的平均
充满度的统计信息
大对象的存储效率。如果未指定表或分片,
那么显示整个数据库的统计信息。
请参阅 oncheck
-pB:
显示 blobspace 统计
信息。有关优化 blobspace blobpage 大小
的信息,请参阅 GBase 8s 管理员指南中的
管理磁盘空间一章
-pc
与 -cc 相同,但在检查系统
目录表时还显示系统目录信
息,包括每个表的 extent 使
用情况

-pd
以十六进制格式显示行
请参阅 oncheck
-pd 和 pD :
以十六进制格
式显示行
-pD
显示十六进制格式的行和存
储在 tblspace 中的简单大
对象值或存储在sbspace
sbpage 中的智能大对象和存
储在 blobspace blobpage 中
简单大对象的头信息
请参阅 oncheck
-pd 和 pD :
以十六进制格
式显示行
-pe
与 -ce 相同,但在检查可用
chunk 列表、相应可用空间以
及每个 tblspace extent 时
还显示 chunk 和 tblspace
extent 信息
请参阅 oncheck -ce 、-pe: 检查可用
chunk 列表
-pk
与 -ci 相同,但在检查它们
时还显示指定表上所有所有
的键值
请参阅 oncheck -pk 、-pK 、-pl 、-pL:
显示索引信息
-pK
与 -cI 相同,但在检查它们
时还显示键值和 rowid
请参阅 oncheck -pk 、-pK 、-pl 、-pL:
显示索引信息
-pl
与 -ci 相同,但还显示键值。
只检查叶节点索引页
请参阅 oncheck -pk 、-pK 、-pl 、-pL:
显示索引信息
-pL
与 -cI 相同,但还只显示叶
节点索引页的键值和 rowid
请参阅 oncheck -pk 、-pK 、-pl 、-pL:
显示索引信息
-pp
显示逻辑页的内容
请参阅 oncheck -pp 和 -pP: 显示逻辑页
的内容
-pP
与 -pp 相同,但是需要 输入
chunk 编号和逻辑页号或内
部 rowid
请参阅 oncheck -pp 和 -pP: 显示逻辑页
的内容
-pr
与 -cr 相同,但在检查保留
页时还显示保留页信息
请参阅 oncheck -pr 和 pR:显示保留页信

-pR
与 -cR 相同,但还显示保留
请参阅 oncheck -pr 和 pR:显示保留页信

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 310 -
元素
用途
关键注意事项
页、物理日志页和逻辑日志页
的信息

-ps
检查和显示 sbspace 的智能
大对象和 sbspace 元数据
请参阅 oncheck
-cs 、-cS 、-ps、-pS: 检
查并显示 sbspace
-pS
检查并显示简单大对象和
sbspace 元数据。列出个别智
能大对象的 extent 和头信

请参阅 oncheck
-cs 、-cS 、-ps、-pS: 检
查并显示 sbspace
-pt
显示表或分片的 tblspace
信息
请参阅 oncheck
-pt 和 -pT:
显示表或分片
的 tblspaces
-pT
与 -pt 相同,但还显示特定
于索引的信息和按页类型排
列的页分配信息(对于
dbspace)
请参阅 oncheck
-pt 和 -pT:
显示表或分片
的 tblspaces
-q
不显示所有检查和确认信息

-x
检查和打印索引时在表上放
置共享锁
与 -ci、-cI、-pk、-pK、-pl 或 -pL 选项
一起使用。
请参阅 使用 -x 开启锁,
获取全
部信息
-y
当检测到错误时修复索引

-V
显示软件版本号及序列号
请参阅 获取实用程序的版本信息
-version
显示构件版本、主机、操作系
统、编号、日期及 GLS 版本
请参阅 获取实用程序的版本信息
chunknum
指定用于指示特定 chunk 的
十进制值
值必须是大于 0 的无符号整数。
Chunk 必须
存在。
执行 -pe 选项可了解哪些 chunk 号是与
特定的 dbspace、
blobspace 或 sbspace 相
关联的
database
指定要检查其一致性的数据
库名称
语法必须符合 Identifier 分段;请参阅
《GBase 8s SQL 指南:语法》
db1
指定包含想要检查的数据类
型的本地数据库
可以选择使用格式 db1@server1 指定本地
数据库服务器名
db2
指定包含想要检查的数据类
型的远程数据库
可以选择使用格式 db2@server2 指定远程
数据库服务器名
frag_dbs
指定包含想要检查其一致性
的分片的 dbspace 名称
Dbspace 必须存在并包含要检查一致性的分
片。语法必须符合 Identifier 分段;请参
阅 《GBase 8s SQL 指南:语法》
index_name 指定想要检查其一致性的索
引名称
指定的表和数据库必须存在索引。
语法必须符合 Identifier 分;请参阅

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 311 -
元素
用途
关键注意事项
《GBase 8s SQL 指南:语法》
logical
pagenum
指定用于指示 tblspace 中
特定页的整数值
值必须是在 0 和 16,777,215(包括 0 和
16,777,215 )
之间的无符号整数。
值可以表
示为无符号整数或以 0x 标识符开始的十六
进制数
object
指定想要检查的
DataBlade 、强制转型、运算
符类、用户定义的数据类型或
UDR 的名称
如果未指定对象名称,那么数据库服务器将
比较相同类型(具有相同的名称和所有者)
的所有对象
owner
指定表的所有者
必须指定并的当前所有者。
语法必须符合 Owner Name 段;有关更多信
息,请参阅 《GBase 8s SQL 指南:语法》
pagenum
标识要检查和显示的
sbspace 元数据部分的页号

partnum
标识要检查和显示的
sbspace 元数据分区

rowid
标识要显示其内容的行的
rowid 。Rowid 是作为
oncheck -pD 输出的一部分进
行显示的
值必须是 0 和 4,277,659,295(包括 0 和
4,277,659,295)
之间的无符号整数。
值可以
表示为无符号整数或以 0x 标识符开始的十
六进制数
sbspace
指定想要检查其一致性的
sbspace 的名称

server
指定数据库服务器名称
如果省略数据库服务器名称,那么 oncheck
使用 GBASEDBTSERVER 指定的名称
table
指定想要检查其一致性的表
的名称
执行实用程序时,表应存在。语法必须符合
Table Name 段;有关更多信息,请参阅
《GBase 8s SQL 指南:语法》
tblspacenum 标识要显示其内容的
tblspace
值必须是 0 和 208,666,624(包括 0 和
208,666,624)
之间的无符号整数。
值可以表
示为无符号整数或以 0x 标识符开始的十六
进制数