- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Oracle全文索引技术]
使用说明文档
金联万家(北京)电子支付科技发展有限公司
保 密 等 级 机密 作 者 宋成 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期
修改记录
日期 版本 修改人 备注 2013-03-20 V1.0 宋成 初稿
目录
1 前言 3
1.1 编写目的 3
1.2 名词解释 3
1.3 参考资料 3
2 oracle全文索引技术 4
3 建立全文索引的操作步骤 4
3.1 查看用户与角色 4
3.2 开启目标用户全文索引权限 4
3.3 设置语法分析器Lexer 5
3.4 建立索引 5
3.5 使用索引 6
4 全文索引的种类 6
5 对多字段建立索引 6
6 Oracle全文索引之 - CONTEXT 7
6.1 函数 CONTAINS 语法 7
6.2 全文索引的维护 7
6.2.1 同步数据 8
6.3 单个中文字查询问题 9
7 建立全文索引的完整脚本 10
8 附录 14
前言
编写目的
本文档主要说明Oracle全文索引技术的使用与维护,为数据库操作使用人员提供参考维护手册。
名词解释
名词 解释 术语表
参考资料
资料名 说明 参考资料列表
oracle全文索引技术
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。Oracle Text 全文检索Oracle一直致力于全文检索技术的研究,当Oracle9i Rlease2发布之时,Oracle数据库的全文检索技术已经非常完美,Oracle Text使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名称,在Oracle8/8i中它被称作Oracle interMedia Text,在Oracle8以前它的名称是Oracle ConText Cartridge。使用Oracle9i和Oracle Text,可以方便而有效地利用标准的SQL工具来构建基于文本的新的开发工具或对现有应用程序进行扩展。应用程序开发人员可以在任何使用文本的Oracle数据库应用程序中充分利用Oracle Text搜索,应用范围可以是现有应用程序中可搜索的注释字段,也可是实现涉及多种文档格式和复杂搜索标准的大型文档管理系统。Oracle Text支持Oracle数据库所支持的大多数语言的基本全文搜索功能。/view/663956.htm
建立全文索引的操作步骤
查看用户与角色
检查数据库中是否有 CTXSYS 用户 和 CTXAPP 角色
如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。 默认安装情况下,ctxsys用户是被锁定的,因此要先启用ctxsys的用户。 -- 锁住用户
ALTER USER ctxsys ACCOUNT LOCK PASSWORD EXPIRE;
-- 解锁用户
ALTER USER ctxsys ACCOUNT UNLOCK IDENTIFIED BY ctxsys;
如果没有该用户,则需要打开dbca工具中选择configrue database options,然后选择所有数据库组件安装即可。
赋权 在ctxsys用户下把ctx_ddl的执行权限赋于要使用全文索引的用户,例:GRANT EXECUTE ON ctx_ddl TO username;
设置语法分析器Lexer
Oracle实现全文检索,其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来,记录在一组 以dr$开头的表中,同时记下该term出现的位置、次数、hash 值等信息。检索时,Oracle 从这组表中查找相应的term,并计算其出现频率,根据某个算法来计算每个文档的得分(score),即所谓的‘匹配率’。而lexer则是该机制的核心,它决定了全文检索的效率。Oracle 针对不同的语言提供了不同的 lexer, 而我们通常能用到其中的三个:
basic_lexer :针对英语(默认分析器)
chinese_vgram_lexer :专门针对汉语,对汉字搜索准确性较高
如:‘中国人民站起来了’这句话,会被它分析成如下几个term: ‘中’,‘中国’,‘国人’,‘人民’,‘民站’,‘站起’,起来’,‘来了’,‘了’preference(
文档评论(0)