GBase 8s 支持中文的全文本搜索功能BTS – Basic Text Search。
传统关系型数据库上,我们通常通过 LIKE 或 MATCHES 条件来搜索文本数据,往往需要进行全表扫描,性能低下。
BTS提供全文本搜索能力,可以检索一个表上的字符数据类型列(BLOB, CHAR, CLOB, LVARCHAR, NCHAR, NVARCHAR, or VARCHAR)数据
准备:
为使用BTS功能,准备如下:
1.创建一个默认的sbspace空间
2.可选项:为bts 索引创建一个单独的sbspace空间
3.可选项:创建一个临时的 sbspace空间
通过CJK分词器可以支持中文搜索能力。
对于zh_CN.GB18030-2000字符集,需要设置环境变量GL_USEGLU=1,否则无法进行中文分词。
以下测试使用的字符集为zh_CN.utf8
1, 增加处理bts的vp
onmode -p +1 bts
2, 注册bts,按提示确认注册,使用exit退出。
blademgr
register bts.3.10 btstest
注:
a, bts.3.10 的版本号来源于$GBASEDBTDIR/extend/目录下具体版本号
b, btstest为需要使用bts的数据库名
3, 创建测试表,导入测试数据。
6
drop table if exists tclob;
create table tclob(col1 int, col2 clob);
insert into tclob values(1,filetoclob(‘1.txt’,‘client’));
insert into tclob values(2,f