网上面有很多关于全文检索方面的介绍,小弟在这里把自己使用的一些经验共享出来,大家共同学习,如有错误请大家指正;小弟把创建全文检索的过程封装成了一个存储过程,此存储过程的作用是
1、如果一个表从没有创建过全文检索则开始创建全文检索;
2、如果已经创建了全文检索则对全文检索进行刷新,以使新加入的数据也能检索出来;
使用全文检索的流程如下:
1、添加权限
检查数据库中是否有CTXSYS用户和CTXAPP角色。如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。
把CTXAPP角色赋于当前用户 GRANT CTXAPP TO 当前用户;
把CTX_DDL的执行权限赋于当前用户; GRANT EXECUTE ON CTX_DDL TO 当前用户;
2、创建中文解析类型;
在当前用户下执行 EXEC CTX_DDL.CREATE_PREFERENCE('CTX_LEXER','CHINESE_VGRAM_LEXER');
3、创建全文检索字段;
这里有几个需要注意的地方,也是小弟在使用时摸索出来的,一、全文检索字段间最好用“,”隔开,这对汉字的拆分有帮助,如qwjs=王刚,19890622,男......;二、全文检索字段中不要把数字和数字放在一起,中间要用汉字或字母分开,否则检索不出来,如“王刚,19890622,371312,男”,此时使用全文检索查询19890622或371312时检索不出;但如果是“王刚,19890622,男,371312”就没问题了;
4、创建全文检索存储过程
参考附件
5、创建全文检索方法
EXEC P_CREATE_QWJS_CN('参数1','参数2','参数3');
说明:
参数1:是全文检索的索引名称;参数2:是表名;参数3:是全文索引的字段名如上面例子中的qwjs;
如:EXEC P_CREATE_QWJS_CN('IDX_CK_QWJS','T_RK_CK','QWJS');
6、全文检索查询方法
select * from 表名 where contains(qwjs,'检索的值') > 0; 例: select * from t_rk_ck where contains(qwjs,'王刚') > 0,如果是多条件可用select * from t_rk_ck where contains(qwjs,'王刚') > 0 and contains(qwjs,'19890622') > 0,或者是select * from t_rk_ck where contains(qwjs,'王刚 and 19890622') > 0;
- 浏览: 118772 次
- 性别:
- 来自: 福建
相关推荐
首先这里说oracle 全文检索,是针对我机器上的oracle 10g版本的。至少 10g 或以上的版本 适合这样来使用。 oracle 的全文检索,操作步骤为:将表中需要检索的字段,创建为全文检索的索引,然后通过select * from T ...
主要是讲述了oracle全文检索技术的应用
Oracle全文检索技术详解,非常详细,包括中文检索器技术
oracle 全文检索实现,通过lucene实现oracle的全文检索,以流程图说的很详细
oracle实现全文检索的步骤与具体的实现方式
oracle 全文检索 oracle全文索引 多列字段检索,匹配多列字段搜索功能。
Oracle Text 使Oracle9i 具备了强大的文本检索能力和智能化的文本管理能力,Oracle Text 是Oracle9i 采用的新名称,在oracle8/8i 中被称为oracle intermedia text,oracle8 以前是 oracle context cartridge。Oracle...
ORACLE对系统文件的全文检索,支持doc、pdf、文档 目前不支持docx office 07以上版本 有研究 出来的 也分享下
Oracle 全文检索应用Oracle 全文检索应用Oracle 全文检索应用Oracle 全文检索应用
ORACLE 全文检索 网上搜的资料很多,但极少有从头到尾一步步的操作流程,本人精心整理一份oracle全文检索构建步骤,每一个步骤都有描述和建议。
本人使用过程中的笔记,相当明确的记录的安装和配置的信息,配有图片。
Oracle的全文检索技术,希望能从理论上帮助你理解oracle全文检索技术
oracle全文检索使用说明 ,本篇主要介绍Oracle Text的基本结构和简单应用。
如何更好的利用Oracle全文检索
ORACLE 全文检索 网上搜的资料很多,但极少有从头到尾一步步的操作流程,本人精心整理一份oracle全文检索构建步骤,每一个步骤都有描述和建议。
Oracle全文检索技术的应用.pdf