作者:eygle |English Version 【转载时请以超链接形式标明文章出处和作者信息及本声明】
链接:http://www.eygle.com/archives/2005/06/ecieoaoracleeia.html本文简要说明全文检索功能的使用,不做太多的具体说明。
仅供参考使用方法。
1.授权
对具体使用全文检索的用户授权
$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Sun May 15 20:00:10 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> grant ctxapp to club;
Grant succeeded.
SQL> connect ctxsys/password
Connected.
SQL> grant execute on ctx_ddl to club;
Grant succeeded.
|
2.使用应用用户连接
创建域索引
SQL> connect club/password
Connected.
SQL> begin ctx_ddl.create_preference('club_lexer','chinese_vgram_lexer'); end;
2 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.03
SQL> create index id_cont_msg
2 on jivemessage ( SUBJECT ) indextype is ctxsys.context parameters('lexer club_lexer');
Index created.
Elapsed: 00:01:22.42
SQL> select count(*) from jivemessage where contains(subject,'幸福')>0;
COUNT(*)
----------
1847
Elapsed: 00:00:00.17
SQL> select count(*) from jivemessage where subject like '%幸福%';
COUNT(*)
----------
1841
Elapsed: 00:00:02.89
|
3.检索比较
以下是一个全文检索的示例,我们检索'abc',那么全文检索可以把包含'abc'的任何变化组合都查询出来,包括大小写、全半角,而如果用单纯的SQL实现同样的结果,则需要多次like之后union all,其性能差距是不可想象的。
全文检索在类似文本模糊查询上具有极大的优势。当然也可能存在问题,即词法分析器是否准确,会否漏掉部分内容等。
总的说来,满足需求的技术就是好的技术,是否使用一项技术应该通过实践来检验.<br>
SQL> select subject from jivemessage where contains(subject,'abc') >0;
SUBJECT
--------------------------------------------------------------------------------
【游戏】 把你的名字的首字母用智能ABC打出,看能出来什么?
游戏——把你的名字首字母用智能ABC打出来
智能ABC暗藏杀机
ABC
ABC
ABC
ABC
ABC
ABC
哈哇abc
abc
SUBJECT
--------------------------------------------------------------------------------
abc
ABC
振奋爱的激情方案ABC
智能ABC的错吗?
ABC全选
瓜果美容ABC
经典英文歌曲ABC,不好你拿版砖砍我,好就回帖顶一下!
初夜abc
Re: abc
Re: abc
Re: abc
SUBJECT
--------------------------------------------------------------------------------
abc
测试发贴""abc
abc
25 rows selected.
Elapsed: 00:00:00.04
|
3.定时优化同步域索引
创建定时任务,定期优化和同步域索引
SQL> create or replace procedure hsp_sync_index as
2 begin
3 ctx_ddl.sync_index('id_cont_msg');
4 end;
5 /
Procedure created.
Elapsed: 00:00:00.08
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'hsp_sync_index();',
3 SYSDATE, 'SYSDATE + (1/24/4)');
4 commit;
5 END;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.27
SQL> create or replace procedure hsp_optimize_index as
2 begin
3 ctx_ddl.optimize_index('id_cont_msg','FULL');
4 end;
5 /
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'hsp_optimize_index();',
3 SYSDATE, 'SYSDATE + 1');
4 commit;
5 END;
6 /
Procedure created.
Elapsed: 00:00:00.03
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
SQL>
|
分享到:
相关推荐
Oracle Text 使Oracle9i 具备了强大的文本检索能力和智能化的文本管理能力,Oracle Text 是Oracle9i 采用的新名称,在oracle8/8i 中被称为oracle intermedia text,oracle8 以前是 oracle context cartridge。Oracle...
oracle 全文检索 oracle全文索引 多列字段检索,匹配多列字段搜索功能。
文中主要讲述了ORACLE全文检索技术的安装和使用方法,方法非常简单,进行简单的试用也不存在问题,但是性能测试方面不是很理想,但是由于同我们目前的系统软件架构相符合,在目前的功能中应用应当不存在技术和性能...
Oracle一直致力于全文检索技术的研究,当Oracle9i Rlease2发布之时,Oracle数据库的全文检索技术已经非常完美,Oracle Text使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的...
Oracle Text 使Oracle9i 具备了强大的文本检索能力和智能化的文本管理能力,Oracle Text 是Oracle9i 采用的新名称,在oracle8/8i 中被称为oracle intermedia text,oracle8 以前是oracle context cartridge。Oracle ...
使用Oracle9i和Oracle Text,可以方便而有效地利用标准的SQL工具来构建基于文本的新的开发工具或对现有应用程序进行扩展。...本文将介绍如何使用Oracle9i的全文检索技术来为自己的应用提供一个优秀的 解决方案。
oracle全文检索功能详细说明以及配置,能快速构建BLOB字段的检索,用于企业级开发应用!
目前全文检索功能几乎所有主流数据库都支持。Oracle 的全文检索建立和维护索引都要快得多,本文在HP UX, Soralis 上面设置了Oracle Intermedia来实现全文检索。
目前全文检索功能几乎所有主流数据库都支持。本文在HP UX, Soralis 上面设置了Oracle Intermedia来实现全文检索。依据的是Oracle 8.1.6 和8.1.7两个版本,不能保证适用于其他版本。
>> 摘要 全文检索技术是智能信息管理的关键技术之一,Oracle Text作为Oracle9i的一个组件,提供了强大的全文检索功能,用Oracle9i做后台数据库,就可以充分利用其全文检索技术,构建复杂的大型文档管理系统。...
是oracle text developer 和preference的中文版本,大家可以通过这个文档快速了解oracle text的一些使用和功能特点。
Oracle跟上了硬件发展的步伐,提供了很多面向多CPU的功能。从Oracle8i开始,Oracle在每个数据库函数中都实现了并行性,包括SQL访问(全表检索)、并行数据操作和并行恢复。对于Oracle专业版的挑战是为用户的数据库...
Oracle Reports是Oracle 关系数据库系统提供的一个功能强大、易于使用的报表定义工具软件,它用于开发、显示和打印结果报表。使用Oracle Reports的应用开发人员应当熟悉SQL和PL/SQL。 Oracle Reports的应用分为两步...
新华社多媒体数据库底层采用TRS 和Oracle 协同工作的解决方式,由TRS 完成千万级数据的索引检索服务,由Oracle 完成信息制作流程,检索方式分为...提供中英文全文检索功能,中文按词进行全文检索,具有智能词库机制。
完全涵盖了最新版本Oracle数据库的功能和技术,指导读者编写SQL语句以检索和修改数据库中的信息、掌握SQL*Plus和SQL Developer、处理数据库对象、编写PL/SQL程序、采用性能优化技术、结合XML以及其他技术。...
完全涵盖了最新版本Oracle数据库的功能和技术,指导读者编写SQL语句以检索和修改数据库中的信息、掌握SQL*Plus和SQL Developer、处理数据库对象、编写PL/SQL程序、采用性能优化技术、结合XML以及其他技术。...
完全涵盖了最新版本Oracle数据库的功能和技术,指导读者编写SQL语句以检索和修改数据库中的信息、掌握SQL*Plus和SQL Developer、处理数据库对象、编写PL/SQL程序、采用性能优化技术、结合XML以及其他技术。...
但是这个动作会经常遗忘, 所以我这里加了一个检索并修正无效对象的功能; 8.可以对共享区进行监控,了解那些是不好的SQL以及执行计划; 9.可以在“裸机”上连接数据库,也就是可以无需安装oracle客户端;
它可以在Oracle数据库8i以上的版本中运行,并且支持大部份最新的Oracle功能,包括目录、数据表空间、同义词、物化检索、触发器、序列及类型等。Navicat的的功能不仅可以满足专业开发人员的所有需求,而且对Oracle的...
软件用着非常好.感谢作者. 青云oracle超人性化工具 V2.1(注:这是作者的说明) oracle 的常见第三方工具主要是:toad ,PLSQL Developer,...但是这个动作会经常遗忘, 所以我这里加了一个检索并修正无效对象的功能;