`
yjingzeming
  • 浏览: 45199 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle test全文检索技术的首次应用

阅读更多
对一个老项目进行改造,数据库用的是jdbc+strus1,其中一个表中的老数据将近1W条,内容存在CLOB中,文字几乎都是上千,做了一个全文模糊查找,第一个感觉是必须用lucene这个专业的搜索引擎技术来弄,后来经理说不必那么麻烦了,直接在数据库查查就行了,然后我用了
select XXOO FROM T_XXOO WHERE XXOO like '%xxoo%'
,结果就悲剧了,几乎每次查询都让我等个至少十几秒,起初以为
create index IDX_XXOO on T_XXOO(XXOO);
然后就可以了,但是结果你会发现,完全的模糊查找效果并不明显。后来发现“Oracle text译为全文检索技术,是智能信息管理的关键技术之一,Oracle Text作为Oracle9i的一个组件,提供了强大的全文检索功能,用Oracle9i做后台数据库,就可以充分利用其全文检索技术,构建复杂的大型文档管理系统....”,于是果断使用oracle自带的全文检索技术,
先建索引:
CREATE INDEX content_IDX ON T_KM_ARTICLECONTENT(content) INDEXTYPE is CTXSYS.CONTEXT;

查询的SQL:
select XXOO from T_XXOO T2 where contains(T2.content,'要查找的关键字')>0 

注意,contains方法只有创建了 INDEXTYPE is CTXSYS.CONTEXT才有效的。
最后运行程序,测试结果证明效果非常明显.
分享到:
评论

相关推荐

    Oracle教程,java调用oracle

    以上知识点构成了Oracle数据库的基础,对于Java开发者来说,理解并熟练运用这些概念和功能是至关重要的,因为它们有助于高效地设计、开发和维护数据库驱动的应用程序。通过学习Oracle教程,你可以深入理解如何利用...

    使用lucenesolr搭建Oracle数据库全文搜索服务.docx

    ### 使用Lucene Solr搭建Oracle数据库全文搜索服务 #### 一、基础知识介绍 - **Lucene**: 是一个高性能、全功能的全文检索引擎库。它为开发者提供了构建搜索应用程序所需的工具,但不提供完整的搜索应用。 - **...

    水晶报表连接oracle存储过程实例

    最后,需要创建一个 Oracle 存储过程,用于从 Test0 表中检索数据。在这个示例中,我们创建了一个名为 Test_Procedure 的存储过程。 CREATE OR REPLACE PROCEDURE Test_Procedure ( Test_Cursor IN OUT Test_...

    oracle递归、迭代

    ### Oracle中的递归查询详解 #### 一、引言 在数据库管理中,处理具有层次结构的数据是一项常见的任务。例如,在组织结构、产品分类或文件系统等场景...希望本文能帮助读者更好地理解和应用Oracle中的递归查询技术。

    Oracle与.Net 数据类型映射

    了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与.Net 数据类型映射"这一主题的详细解释。 首先,Oracle数据库提供了一系列的数据...

    arcsde 操作oracle的操作原理

    在用户执行SQL语句,如`SELECT sde.st_astext(shape) FROM sde.test`时,ArcSDE在Oracle数据库内部调用了一系列对象和函数,以完成空间数据的检索和转换。这一过程可以分为以下步骤: 1. **SQL语句解析与执行**:...

    Oracle分区表详解

    ### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。...通过合理应用分区技术,不仅可以提高数据的可管理性,还能有效提升查询性能和系统可用性。

    Oracle 外链其他数据库

    这行SQL语句会从远程的`BMS101.A`表中检索所有数据,并通过`BMS.TEST`链接进行访问。 然而,如果远程表名过长或者频繁引用,直接写全名可能会显得繁琐。这时,可以创建一个视图来解决这个问题。例如: ```sql ...

    springboots+mybatis+junit+oracle.7z

    在本项目中,SpringBoot应用将与Oracle数据库进行交互,处理数据存储和检索。 **MyBatis** 是一个轻量级的持久层框架,它允许开发者用简单的SQL语句来操作数据库。MyBatis将SQL与Java代码分离,提供了一种灵活的...

    ORACLE数据库学习笔记

    Oracle数据库是一种广泛使用的关系型数据库管理系统,其在企业级应用中占据重要地位。本文主要针对ORACLE数据库的学习笔记进行深入解析。 首先,SQL是Structured Query Language的缩写,即结构化查询语言,它是用于...

    Oracle速查手册

    TEMPFILE 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; ``` 这段代码创建了一个名为`test_temp`的临时表空间,其数据...

    oracle like 的优化

    - 使用全文搜索等更高级的技术来替代传统的LIKE操作。 ##### 2. 对于 `LIKE '%'` 的优化 **优化方法**:当LIKE模式不以“%”开头时,Oracle可以有效地利用索引来加速查询。例如,对于`LIKE 'XYZ%'`的情况,如果...

    oracle 10g 新特性

    为了更好地理解Oracle 10g中正则表达式的应用,我们可以参考以下示例: 假设有一个名为`test`的表,包含以下数据: ``` mc --------- 112233445566778899 221133445566778899 331122445566778899 ...

    oracle表分区.[归类].pdf

    Oracle数据库的分区技术是针对大型数据表和索引的一种高效管理策略,旨在通过将大对象分解成可管理和独立操作的较小部分,实现性能优化、可用性提升和维护简便。本篇将详细介绍Oracle分区的原理、优缺点以及各种分区...

    Oracle数据库分区表操作方法

    Oracle数据库中的分区表是将大型数据表分割成多个小表,以提高应用系统的性能和方便数据管理。在本文中,我们将详细介绍分区表的使用方法和优点。 分区表的优点 使用分区表可以带来以下几个优点: ·增强可用性:...

    oracle递归查询的例子

    ### Oracle 递归查询详解及实例 #### 一、引言 在数据库查询语言中,Oracle 提供了一种强大的功能——递归查询,这在其他数据库系统如 SQL Server 中是缺失的功能。递归查询允许用户执行多级关联查询,特别适用于...

    CAS与Oracle连接实现(SSO)[借鉴].pdf

    - 用户首次登录 CAS 服务器后,服务器会生成一个服务票证(Service Ticket),然后转发用户请求到目标应用,应用会拿着这个票证去 CAS 服务器校验,如果验证通过,用户就可以无须再次输入凭证访问应用了。...

    Oracle游标实例.txt

    根据给定的文件信息,我们可以深入探讨Oracle数据库中的游标(Cursor)概念及其在实际编程中的应用。游标是Oracle数据库处理数据集的一种机制,它允许程序员逐行地访问查询结果,而不仅仅是处理整个结果集。这在处理...

    QTP连接oracle并操作数据库的方法.doc

    QTP连接Oracle数据库并进行操作是一项高级但非常有用的技术,尤其是在自动化测试复杂应用时。通过正确配置Oracle驱动,创建数据库对象,以及使用SQL语句,测试人员可以高效地完成数据库相关的自动化测试任务。同时,...

Global site tag (gtag.js) - Google Analytics