语法说明
GBase UP 全文索引提供用户指定索引数据存放路径的功能,其句法表达式为:
INDEX_DATA_PATH='path',例如:
INDEX_DATA_PATH = “home/fti/”
如果用户创建索引的时候未指定索引数据存放路径,则索引数据会保存在
{datadir}/{DATABASE}/目录下,
数据库的metadata 文件夹中
({datadir}是对应集群
配置文件下的参数),如C00001.FTD。
当使用INDEX_DATA_PATH='path'句法创建索引后,
则在该指定目录下会创建类似
为INSTANCE_DATABASE_TABLE_CXXXXX.FTD 的索引目录。
索引目录名称规则说明
INSTANCE:建立全文索引实例名称。
DATABASE: 建立全文索引表所在数据库名称。
TABLE:建立全文索引表名称。
CXXXXX:建立全文索引列编号。
FTD:全文索引目录标志。
注意
数据库的某些操作可能会导致索引数据目录名称变化,例如使用RENAME
TABLE 语法更改全文索引表名称时,
其对应的索引数据目录也会自动变更。
例如
原表名为FtiDB.FtiTable,
索引原路径为FtiInstance_FtiDB_FtiTable _C00001.FTD,
用户通过RENAME TABLE 句法将表名更改为FtiTableNew. FtiTableNew 则索引
数据目录名称就会自动由FtiInstance_FtiDB_FtiTable_C00001.FTD 变更为FtiInsta
nce_FtiDBNew_FtiTableNew_C00001.FTD。
示例
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 929
示例1:
gbase> CREATE TABLE sms (MB_No char(11),MB_Text varchar(1000) DEFAULT NULL, FULLTEXT
idx_t (MB_Text) INDEX_DATA_PATH='/tmp');
Query OK, 0 rows affected
# cd /tmp
# ll
total 48
-rwxr-xr-x 1 root root 3976 Apr 8 14:45 clear.sh
-rw-r--r-- 1 root root 500 Apr 8 14:55 corosync.conf
srwxrwxrwx 1 gbase gbase 0 Apr 16 14:41 gbase_8a_5050.sock
drwxrwx--x 2 gbase gbase 4096 Apr 16 17:12 gbase_fti_sms_C00001.FTD
drwxrwx--x 2 gbase gbase 4096 Apr 16 17:12 gbase_fti_sms_n1_C00001.FTD
drwxrwx--x 2 gbase gbase 4096 Apr 16 17:12 gbase_fti_sms_n2_C00001.FTD
srwxrwxrwx 1 gbase gbase 0 Apr 16 14:41 gcluster_5258.sock
-rw-r--r-- 1 root root 2251 Apr 8 14:51 gcluster_rpm.log
-rw-r--r-- 1 root root 10643 Apr 8 14:51 monit.conf.1
drwx------ 2 gdm gdm 4096 Mar 14 13:35 orbit-gdm
drwx------ 2 gdm gdm 4096 Mar 14 13:35 pulse-11b2vYxiCGS5
drwx------. 2 root root 4096 Dec 30 10:52 pulse-Wn0xNWIXZPfB
可以看到,gbase_fti_sms_C00001.FTD 是生成的数据索引目录。
示例2:
gbase> RENAME TABLE sms TO smsnew;
Query OK, 0 rows affected
$ cd /tmp
$ ll
总计 44
drwxrwx--x 3 fti fti 4096 06-12 17:12 dat
drwxrwxr-x 2 fti fti 4096 06-12 16:44 fti
srwxrwxrwx 1 gbase gbase 0 05-18 17:19 gbase_8a_5050.sock
srwxrwxrwx 1 fti fti 0 06-12 17:12 gbase_8a_6080.sock
drwxrwx--x 2 fti fti 4096 06-12 16:28 gbase_fti_smsnew_C00001.FTD
srwxrwxrwx 1 gbase gbase 0 05-18 17:19 gcluster_5258.sock
sms
表名修改为
smsnew ,可以看到之前的索引数据目录由
gbase_fti_sms_C00001.FTD 变成了 gbase_fti_smsnew_C00001.FTD