全文检索-BTS的使用
1、准备工作如下:
onspaces -c -S sbspace1 -p /data/sbspace1 -o 0 -s 1024000
修改ONCONFIG配置文件SYSSBSPACENAME参数以及SBSPACENAME为sbspace1
onmode -wf SYSSBSPACENAME=sbspace1
onmode -wf SBSPACENAME=sbspace1
2、添加相关vp参数:
VPCLASS jvp,num=1
VPCLASS bts,num=1
3、创建带日志数据库
echo "create database testdb in datadbs1 with buffered log;" | dbaccess - -
4、执行命令注册bts(这一步可不做,创建表时会自动注册)
blademgr
>list testdb
>show modules
>register bts.3.10 testdb
>register ifxrltree.2.00 testdb
>register spatial.8.21.FC7 testdb
>list testdb
5、创建表,并插入数据
create table lab1(text_data lvarchar(2000),b int);
create index lab1_bts_idx on lab1 (text_data bts_lvarchar_ops) using bts;
bts_lvarchar_ops的构成是bts_索引字段的数据类型_ops
insert into lab1 values ('ssl aa bb',1);
insert into lab1 values ('ssl cc dd',2);
insert into lab1 values ('ssl ee ff',3);
insert into lab1 values ('ssl gg hh',4);
6、查询验证
select b from lab1 where bts_contains(text_data,'gggggg');
bts_contains函数有两个变量,第一个是字段的数据类型,第二个是需要匹配的字符串。
7、灵活的匹配方式
and匹配有两种形式:
select b from lab1 where bts_contains(text_data,'gggggg') and bts_contains(text_data,'hh');
select b from lab1 where bts_contains(text_data,'gggggg and hh');
or匹配有两种形式:
select b from lab1 where bts_contains(text_data,'gggggg') or bts_contains(text_data,'hh');
select b from lab1 where bts_contains(text_data,'gggggg or hh');
还支持正则表达式匹配:
select * from lab1 where bts_contains(text_data,'h?');
select * from lab1 where bts_contains(text_data,'h*');
除了lvarchar还支持blob智能大对象:
建立测试用表:
create table btstest
( col1 integer, col2 clob );
导入测试数据:
INSERT INTO BTSTEST VALUES (1,filetoclob('/home/informix/etc/onconfig.std','server'));
INSERT INTO BTSTEST VALUES (2,filetoclob('/etc/hosts','server'));
create index btsidx on btstest (col2 bts_clob_ops) using bts ;
select col1 from btstest where bts_contains(col2,'BUFFERPOOL');
详见《IBM Informix 11.5 Extensibility - Basic Text Search(BTS)》
全文检索-BTS的使用相关推荐
- 2021年大数据ELK(三):Lucene全文检索库介绍
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.什么是全文检索 1.结构化数据与非结构化数据 2.搜索结构化 ...
- Django 全文检索6.3
全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:django的一个包,可以方便地对model里面的内容进行索引.搜索,设计为支持wh ...
- haystack全文检索框架
Haystack 1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsear ...
- Solr_全文检索引擎系统
Solr介绍: Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中. Solr ...
- Lucene:基于Java的全文检索引擎简介(转载)
Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基 ...
- 开源 免费 java CMS - FreeCMS1.9 全文检索
项目地址:http://code.google.com/p/freecms/ 全文检索 从FreeCMS 1.7開始支持 仅仅有创建过索引的对象才干被lucene类标签查询到. 信息类数据会在信息更新 ...
- PHP+redis实现超迷你全文检索
2014年10月31日 11:45:39 情景: 我们平台有好多游戏, 运营的同事在查询某一款游戏的时候, 目前使用的是html的select下拉列表的展现形式, 运营的同事得一个个去找,然后选中,耗 ...
- [BTS]BizTalk学习之Functoid篇(ID Cross-References)
早在三周前,就已经收集了所有有关Cross-Reference Functoid的资源,虽然现在看来,它并不是很难,但想真正的应用它,还是需要花费一些心思的研究一下,不过,托了三周时间,还是写完了. ...
- 如何给TiDB插上全文检索的翅膀
"搜索"是内容类App产品非常重要的一个功能,"全文检索"是支持它不可或缺的一项基本能力. 目前业界很多公司产品的业务数据已经向 TiDB 迁移了,但目前在 T ...
最新文章
- NDK crash栈信息的错误定位
- 复选框 全选 全不选 反选 实现
- linux一键启动,Linux一键启动、停止、重启Tomcat sh脚本
- 东莞市商业学校计算机平面设计在哪个校区,东莞市商业学校
- 那个男人 ,他带着Vue3来了~
- 上海大学计算机学院师资力量,计算机学院张瑞老师荣获第二届上海高校青年教师教学竞赛决赛二等奖...
- 一文了解智能门锁的功能选购和安全性
- 9个优秀的标签云免费生成工具
- Nginx 入门指南(二)
- 计算机模拟仿真实例,计算机模拟仿真系统,computer simulation system,音标,读音,翻译,英文例句,英语词典...
- Docker学习之二------基础命令(镜像、容器)
- 微信小程序-后台使用富文本编辑器返回数据,小程序编译富文本编辑器返回的数据
- CF1383C 题解
- Qt 之 pro文件介绍及注意点
- 好久没在线了,恩进修(偷懒)中,hahaha~整理一下
- 删除浏览器的cookie
- mac 备份文件 太大 时间机器_关于MAC 的TimeMechine备份,如何手动清除备份占用的空间?...
- Android平板电脑上的APP应用程序设计须知
- 计算机暑期学校心得,2017暑期学习心得体会6篇_2017暑期学习心得体会
- 组件化架构搭建——铺路Android架构师
热门文章
- 如何申请pmp认证考试-游峰-专题视频课程
- Educational Codeforces Round 67小结
- Ubuntu历史版本下载地址
- 客户端访问https时应无浏览器(含终端)安全警告信息;_计算机网络 HTTPS和认证
- CS231n的assignment-1 实现(KNN部分,2022)
- JAVA C# Zxing生成的二维码数据转换为1bit的bmp下发到点阵终端。QRCode去白边,以bmp格式字节流发送,BMP图片解析
- sql查询将科学计数法转为数字型
- JULLIAN MURPHY:保持耐心的方式
- 川大计算机非全日制专业课,2018年四川大学在职研究生非全日制考试科目有什么?...
- 虚幻5 技术文章整理