GBase 8a 全文检索知识简介

       全文检索(FULL TEXT SEARCH)技术就是将各种文章或信息中所有的文字序列都作为检索对象,找出包含有欲检索词汇的文章或对象。GBase 8a 数据库支持全文检索,由于默认采用全单字索引方式,支持几乎所有的语种,并且可以保证 100%的查询召回率。结合 GBase 8a 独特的列存储,
压缩和智能索引技术,适合面向海量数据的检索查询应用。
        全文检索实例
        要使用全文检索功能,首先需要建立一个表存储数据源信息,将要查询的文章内容放到数据表中,然后将查询的文本内容列创建全文索引,当表中有内容更新时也要更新索引,这样就可使用全文检索查询语法进行查询。具体语法包括创建索引,更改索引,更新索引,删除索引和查询等操作,下面就以手机短信息检索的例子进行说明,快速了解全文检索的使用方法。
示例:
1. 创建一个存储短信信息的表 sms,包括手机号和短信内容两个字段。
gbase> CREATE TABLE sms (MB_No char(11), MB_Text varchar(1000) DEFAULT NULL);
Query OK, 0 rows affected

2. 创建全文索引,索引名称: idx_t 索引列: MB_Text
gbase> CREATE FULLTEXT index idx_t ON sms(MB_Text);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnings: 0
3. 插入数据信息
INSERT INTO sms VALUES('13023315123','南大开设 java 编程培训班,每周五晚上
0-9:00 上课');
INSERT INTO sms VALUES('13521000123','天津大学开设考研培训班,学期 3 个月,
周六、日上课,欢迎报名,咨询 40088800');
INSERT INTO sms value('13023315123','晚上去南大上英语课,在南大主楼 115 房间
INSERT INTO sms VALUES('13023315123','周末去天津博物馆参观,在南开区南门外
街公交车站集合。 ');
INSERT INTO sms VALUES('13023300023','本公司负责办理各种文*凭、证/件,绝对
真,电话联系: 022-30088200。 ');
INSERT INTO sms VALUES('13023300023','明天去公司办公柜里查找合同文件、档案
报销凭证。 ');
INSERT INTO sms VALUES('13988213328','周六上午 9 点去水上公园,在东门集合,
着天津天塔');
INSERT INTO sms VALUES('13323315181','南大通用数据技术股份有限公司地址:天
华苑产业区海泰发展六道 6 号海泰绿色产业基地 J 座(300384)');
INSERT INTO sms VALUES('13521015341','本小学为 6 到 12 岁儿童开办语文、数学和
语培训班');
4. 手动更新索引
gbase> UPDATE INDEX idx_t ON sms;
Query OK, 9 rows affected
5. 查询建立的索引(包括全文索引)
gbase> SHOW INDEX FROM sms;

因为结果集列数较多,分为多行显示
+-------+------------+----------+--------------+-------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name |
+-------+------------+----------+--------------+-------------+
| sms | 1 | idx_t | 1 | MB_Text |
+-------+------------+----------+--------------+-------------+
+-----------+-------------+----------+--------+
| Collation | Cardinality | Sub_part | Packed |
+-----------+-------------+----------+--------+
| NULL | NULL | NULL | NULL |
+-----------+-------------+----------+--------+
+------+------------+---------+
| Null | Index_type | Comment |
+------+------------+---------+
| YES | FULLTEXT | |
+------+------------+---------+
1 rows in set
6. 搜索查询
gbase> SELECT COUNT(*) FROM sms WHERE contains(MB_Text, '南大通用');
+----------+
| COUNT(*) |
+----------+
| 1 |
+----------+
1 row in set
查询包括天津或者培训班文字、并且不包含‚水上‛文字的数据条数:
gbase> SELECT COUNT(*) FROM sms WHERE contains(MB_Text, '"天津" | "培训班" -
"水上"');
+----------+
| COUNT(*) |
+----------+
| 5 |
+----------+
1 row in set
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值