作者: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数据库,作为业界领先的关系型数据库管理系统之一,自Oracle9i Release 2起便引入了强大的全文检索功能——Oracle Text。这一功能不仅提升了文本数据的检索效率,还拓展了文本管理的能力,使其成为企业级...
Oracle 全文检索实现 Oracle 全文检索实现是通过 Lucene 实现的,全文检索是指在数据库中检索特定关键字的记录。这一实现的思路是将数据库中的记录对应索引文件中的一个文档,表主键直接存储在索引文件中,而非主键...
从Oracle 7版本开始,Oracle就开始提供全文检索功能,起初名为Oracle ConText Cartridge,随后在Oracle 8/8i中称为Oracle interMedia,直至Oracle 9i正式命名为Oracle Text,并在后续版本中不断得到增强和优化,尤其...
此外,Oracle Text 还支持多种高级检索功能,如: - **模糊查找**:允许用户输入近似的词语来进行检索。 - **词干查找**:例如,搜索 "mice" 时,也会找到包含 "mouse" 的记录。 - **通配符搜索**:支持使用通配符...
Oracle全文检索技术是数据库管理系统Oracle中用于高效查找和分析文本数据的一种功能。它在不同的Oracle版本中有着不同的名称,如Oracle8.0.x中的ConText,Oracle8i中的interMedia Text,以及从Oracle9i开始的Oracle ...
4. 测试和优化:安装和配置完成后,应测试全文检索功能是否正常工作,然后根据实际使用情况进行调整和优化,例如调整索引策略、优化查询性能等。 总的来说,Oracle Text的安装和配置是一个涉及数据库安全、存储管理...
oracle 全文检索 oracle全文索引 多列字段检索,匹配多列字段搜索功能。
2. 赋权:在CTXSYS用户下把CTX_DDL的执行权限赋于要使用全文索引的用户。 3. 设置词法分析器(lexer):Oracle提供了多种词法分析器,如basic_lexer、chinese_vgram_lexer和chinese_lexer等。不同的词法分析器适用于...
Oracle的全文检索技术是Oracle数据库系统中用于高效检索和管理大量文本信息的一种功能。随着Oracle9i Release2的发布,Oracle Text成为Oracle数据库的核心组成部分,提供了强大的文本检索和管理能力。Oracle Text...
Oracle全文检索是一种强大的功能,它允许在数据库中的文本字段中进行复杂的搜索操作。在Oracle数据库中,全文检索主要依赖于Oracle Text组件,它提供了高级的文本分析和检索能力。以下是对Oracle全文检索实例的详细...
Oracle全文检索是一种强大的文本搜索工具,自Oracle 7.3版本开始引入,旨在帮助用户高效地在大量文本数据中进行查找操作。在Oracle 9i中,这一功能被称为Oracle Text,它被集成到标准版和企业版数据库中,无需额外...
Oracle 全文检索应用是Oracle数据库中的一项重要功能,它允许用户在大量文本数据中高效地查找相关信息。Oracle Text是Oracle 9i及更高版本中的组件,它提供了高级的全文检索和文本管理能力。Oracle Text的前身在...
Oracle Text提供了超过二十个检索运算符,支持多语言文档检索、同义词检索等多种高级检索功能。 综上所述,模式匹配方法并不适合于文献资料库的全文检索需求。 ##### 与其它搜索引擎的比较 大多数搜索引擎都会为被...
Oracle的全文检索功能提供了高效、灵活且可定制的搜索体验,对于处理大量文本数据的企业和组织来说,尤其有价值。 首先,Oracle全文检索的基础是Oracle Text,这是Oracle数据库的一个组件,它支持对非结构化数据...
除了技术层面的优化外,Oracle数据库还提供了强大的用户界面和API接口,使得开发者可以更方便地将全文检索功能集成到应用程序中。开发者可以利用Oracle提供的PL/SQL、Java和.NET API等,根据需要编写自定义的全文...
通过使用Lucene,可以对Oracle数据库中的数据建立索引,并提供快速的全文检索功能。 Lucene的优点在于其跨平台和简单易用等特点,已经吸引了众多的用户群体。 Lucene的架构提供了完整的查询引擎和索引引擎,部分...
Oracle全文检索技术是一种在Oracle数据库中实现高效文本搜索的功能,主要应用于大数据量的文本信息查找。在Oracle 9i Release 2中,这项技术被称为Oracle Text。本文将详细介绍Oracle Text的安装与使用方法。 首先...