`
yhef
  • 浏览: 69040 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 全文检索示例(转)

 
阅读更多

感谢作者,原文地址:http://www.iteye.com/topic/1118055

大致内容:

一、创建分析器

basic_lexer:只能根据空格和标点来进行拆分。比如“中国重庆”,只能拆分为“中国重庆”一个词组
chinese_vgram_lexer:专门的汉语分析器,按字单元进行拆分,比如“中国重庆”,可以拆分为“中”、“中国“、”国重”、“重庆”、“庆”五个词组。这种方式的好处是能够将所有有可能的词组全部保存进索引表,使得数据不会遗漏。
chinese_lexer:一种新的汉语分析器,能够认识大部分常用的汉语词汇,并按常用词汇进行拆分存储。比如“中国重庆”,只会被拆分为“中国”、“重庆”两个词组。

例子:ctx_ddl.create_preference ('my_lexer', 'chinese_lexer'); 

二、创建过滤词组

   意思就是,创建了一个名为“my_stoplist”的过滤词组,“有限公司”、“股份有限公司”这两个词组不会被创建为索引

例子:
   ctx_ddl.create_stoplist('my_stoplist');

   ctx_ddl.add_stopword('my_stoplist','有限公司');
   ctx_ddl.add_stopword('my_stoplist','股份有限公司');

三、创建索引
    create index YU_TEST_INDEX on YU_TEST(name) indextype is CTXSYS.CONTEXT parameters('lexer my_lexer stoplist my_stoplist');

四、使用索引
    select * from YU_TEST where contains(name,'重庆')>0;

五、索引优化
    当我们需要修改YU_TEST表中的数据,比如添加、删除、更新等操作时,YU_TEST_INDEX索引是不会同步更新数据的,需要我们在程序中手动的更新,可以写一个oracle的触发器,当添加、删除、修改操作时,进行索引更新。也可以定时进行更新。

    ctx_ddl.sync_index('yu_test_index')
    ctx_ddl.optimize_index('yu_test_index','full')

    CTX_DDL.CREATE_POLICY('MY_POLICY', LEXER => 'my_lexer');


至于性能待有机会再验证。
分享到:
评论

相关推荐

    oracle全文检索

    这个文件很可能包含了完整的全文检索配置和示例查询,可能涵盖了如何创建、更新和查询全文索引的全过程。 在实际使用中,Oracle全文检索支持多种查询语法,包括简单的关键词查询、布尔运算符(AND、OR、NOT)、短语...

    oracle全文检索使用说明

    Oracle全文检索是一种强大的文本搜索工具,自Oracle 7.3版本开始引入,旨在帮助用户高效地在大量文本数据中进行查找操作。在Oracle 9i中,这一功能被称为Oracle Text,它被集成到标准版和企业版数据库中,无需额外...

    oracle 全文检索文档

    ### Oracle全文检索文档知识点 #### 一、Oracle Text 概述与概念 Oracle Text 是 Oracle 数据库的一个组件,用于提供全文检索能力。自 Oracle 9i 版本开始,Oracle Text 成为了数据库的一个内置特性,它允许用户...

    Oracle全文检索

    Oracle全文检索是数据库管理系统Oracle中的一个重要特性,...通过阅读《Oracle全文检索.doc》文档,你将进一步了解Oracle Text的详细配置、使用示例和最佳实践,从而更好地利用这一功能强大的工具来提升数据检索效率。

    oracle9i中全文检索的创建与使用

    ### Oracle9i中全文检索的创建与使用 #### 一、引言 Oracle数据库自7.3版本开始引入了全文检索的功能,使用户能够利用Oracle服务器的上下文(ConText)选项来完成基于文本的数据查询。随着Oracle版本的升级,这一...

    Oracle 9i的全文检索技术

    Oracle 9i的全文检索技术是Oracle数据库在9i版本中引入的一项重要功能,通过Oracle Text组件,使得数据库系统能够高效地处理和搜索文本数据。Oracle Text不仅支持基础的全文搜索,还能处理复杂的文档格式和多语言...

    ORACLE中CLOB字段转String类型

    - 需要全文检索的场景。 - 存储XML文档或其他结构化文本数据。 3. **操作限制**: - 直接对CLOB进行某些操作可能会导致性能问题。 - 不适合频繁更新的场景,因为每次更新都会产生新的版本。 #### 二、CLOB转...

    Oracle sql 源码 简单 全面 示例.rar

    Oracle SQL是一种强大的数据库查询语言,用于在Oracle数据库系统中检索、操作和管理数据。这个"Oracle SQL源码简单全面示例.rar"压缩包文件显然包含了各种Oracle SQL的使用示例,旨在帮助用户全面理解并掌握SQL在...

    使用ES全文检索.docx

    ### 使用ES全文检索知识点概述 #### 一、ELK栈简介与安装 ##### 1.1 ELK栈介绍 ELK栈(Elasticsearch, Logstash, Kibana)是一套开源工具组合,用于实现数据收集、存储、搜索、分析以及可视化等功能。这套工具在大...

    oracle基础代码示例.rar

    "oracle基础代码示例.rar"这个压缩包文件很可能包含了一系列用于演示Oracle数据库基本操作的代码片段,例如SQL查询、数据插入、更新和删除等。让我们深入探讨一下Oracle数据库的基础知识。 一、Oracle数据库简介 ...

    Java_Oracle数据库JSON示例.zip

    本示例"Java_Oracle数据库JSON示例.zip"将介绍如何在Java中操作Oracle数据库中的JSON数据。 首先,我们需要了解Oracle数据库中的JSON支持。Oracle 12c引入了JSON数据类型`JSON_OBJECT`和`JSON_ARRAY`,以及一系列的...

    itpub全文检索.pdf

    ### Oracle9i全文检索知识点详解 #### 一、Oracle9i全文检索简介 **Oracle Text**,作为Oracle 9i数据库的重要组成部分,提供了强大的全文检索功能。从Oracle 7.3版本开始支持全文检索功能,随后在不同版本中分别...

    Oracle如何对CLOB行字段来执行全文检索

    Oracle CLOB 行字段全文检索实现方法 Oracle 数据库中,CLOB 行字段是一种常用的数据类型,用于存储大文本数据。然而,在 Oracle8i 版本之前,对大字段 CLOB 仍然不支持在 where 子句直接的 Like 操作。这使得...

    《Oracle_全文索引_详细介绍》_40页.pdf

    ### Oracle全文索引详解 ...总之,Oracle Text为用户提供了强大而灵活的全文检索能力,极大地提高了基于文本的数据查询效率。通过对全文索引的合理设计和有效使用,可以显著提升应用程序的性能和用户体验。

    oracle常用查询语句示例

    在Oracle中,基础的SELECT语句用于从单个表中检索数据。例如: ```sql SELECT column1, column2 FROM table_name; ``` 这里的`column1`和`column2`是你想查询的列名,`table_name`是你要查询的表的名称。你可以使用...

    oracle SQL优化实例

    在错误示例中,使用了并连接符号,这导致Oracle无法使用`empno`字段上的索引。正确的做法是分开使用等号(`=`)进行匹配,这样可以充分利用索引。 #### 五、索引范围扫描 索引范围扫描是指通过索引查找一定范围内的...

    汉字转全拼或首字母Oracle存储过程

    在Oracle数据库环境中,有时我们需要对汉字进行处理,例如将其转换为全拼或首字母,以进行数据检索、索引优化等操作。在这种情况下,可以利用PL/SQL编写存储过程来实现这一功能。"汉字转全拼或首字母Oracle存储过程...

    oracle 类型转换函数

    在Oracle数据库中,类型转换函数是...以上函数在Oracle数据库中广泛使用,它们提供了强大的数据处理能力,使得开发者能够更灵活地进行数据检索和分析。熟练掌握这些函数的用法,将有助于提高数据库应用的效率和性能。

    基于Lucene的甲骨文全文检索系统构建.pdf

    【标题】:基于Lucene的甲骨文全文检索系统构建 【摘要】:随着甲骨文数字化研究的深入,处理的甲骨文信息量日益增长,检索甲骨文信息变得困难。本文研究如何利用Java的全文检索工具包Lucene,构建甲骨文全文检索...

    Oracle Database 10g基础教程(第二版)PPT和示例代码

    9. **示例代码实践**:教程中的示例代码是理论知识的直观体现,通过编写和执行这些代码,可以更好地理解和掌握Oracle的各种操作。例如,创建表、插入数据、查询优化等。 10. **PPT学习辅助**:PPT通常包含关键概念...

Global site tag (gtag.js) - Google Analytics