感谢作者,原文地址: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全文检索支持多种查询语法,包括简单的关键词查询、布尔运算符(AND、OR、NOT)、短语...
Oracle全文检索是一种强大的文本搜索工具,自Oracle 7.3版本开始引入,旨在帮助用户高效地在大量文本数据中进行查找操作。在Oracle 9i中,这一功能被称为Oracle Text,它被集成到标准版和企业版数据库中,无需额外...
### Oracle全文检索文档知识点 #### 一、Oracle Text 概述与概念 Oracle Text 是 Oracle 数据库的一个组件,用于提供全文检索能力。自 Oracle 9i 版本开始,Oracle Text 成为了数据库的一个内置特性,它允许用户...
Oracle全文检索是数据库管理系统Oracle中的一个重要特性,...通过阅读《Oracle全文检索.doc》文档,你将进一步了解Oracle Text的详细配置、使用示例和最佳实践,从而更好地利用这一功能强大的工具来提升数据检索效率。
### Oracle9i中全文检索的创建与使用 #### 一、引言 Oracle数据库自7.3版本开始引入了全文检索的功能,使用户能够利用Oracle服务器的上下文(ConText)选项来完成基于文本的数据查询。随着Oracle版本的升级,这一...
Oracle CLOB 行字段全文检索实现方法 Oracle 数据库中,CLOB 行字段是一种常用的数据类型,用于存储大文本数据。然而,在 Oracle8i 版本之前,对大字段 CLOB 仍然不支持在 where 子句直接的 Like 操作。这使得...
Oracle 9i的全文检索技术是Oracle数据库在9i版本中引入的一项重要功能,通过Oracle Text组件,使得数据库系统能够高效地处理和搜索文本数据。Oracle Text不仅支持基础的全文搜索,还能处理复杂的文档格式和多语言...
- 需要全文检索的场景。 - 存储XML文档或其他结构化文本数据。 3. **操作限制**: - 直接对CLOB进行某些操作可能会导致性能问题。 - 不适合频繁更新的场景,因为每次更新都会产生新的版本。 #### 二、CLOB转...
Oracle SQL是一种强大的数据库查询语言,用于在Oracle数据库系统中检索、操作和管理数据。这个"Oracle SQL源码简单全面示例.rar"压缩包文件显然包含了各种Oracle SQL的使用示例,旨在帮助用户全面理解并掌握SQL在...
### 使用ES全文检索知识点概述 #### 一、ELK栈简介与安装 ##### 1.1 ELK栈介绍 ELK栈(Elasticsearch, Logstash, Kibana)是一套开源工具组合,用于实现数据收集、存储、搜索、分析以及可视化等功能。这套工具在大...
"oracle基础代码示例.rar"这个压缩包文件很可能包含了一系列用于演示Oracle数据库基本操作的代码片段,例如SQL查询、数据插入、更新和删除等。让我们深入探讨一下Oracle数据库的基础知识。 一、Oracle数据库简介 ...
本示例"Java_Oracle数据库JSON示例.zip"将介绍如何在Java中操作Oracle数据库中的JSON数据。 首先,我们需要了解Oracle数据库中的JSON支持。Oracle 12c引入了JSON数据类型`JSON_OBJECT`和`JSON_ARRAY`,以及一系列的...
### Oracle9i全文检索知识点详解 #### 一、Oracle9i全文检索简介 **Oracle Text**,作为Oracle 9i数据库的重要组成部分,提供了强大的全文检索功能。从Oracle 7.3版本开始支持全文检索功能,随后在不同版本中分别...
### Oracle全文索引详解 ...总之,Oracle Text为用户提供了强大而灵活的全文检索能力,极大地提高了基于文本的数据查询效率。通过对全文索引的合理设计和有效使用,可以显著提升应用程序的性能和用户体验。
在Oracle中,基础的SELECT语句用于从单个表中检索数据。例如: ```sql SELECT column1, column2 FROM table_name; ``` 这里的`column1`和`column2`是你想查询的列名,`table_name`是你要查询的表的名称。你可以使用...
在错误示例中,使用了并连接符号,这导致Oracle无法使用`empno`字段上的索引。正确的做法是分开使用等号(`=`)进行匹配,这样可以充分利用索引。 #### 五、索引范围扫描 索引范围扫描是指通过索引查找一定范围内的...
在Oracle数据库环境中,有时我们需要对汉字进行处理,例如将其转换为全拼或首字母,以进行数据检索、索引优化等操作。在这种情况下,可以利用PL/SQL编写存储过程来实现这一功能。"汉字转全拼或首字母Oracle存储过程...
在Oracle数据库中,类型转换函数是...以上函数在Oracle数据库中广泛使用,它们提供了强大的数据处理能力,使得开发者能够更灵活地进行数据检索和分析。熟练掌握这些函数的用法,将有助于提高数据库应用的效率和性能。
【标题】:基于Lucene的甲骨文全文检索系统构建 【摘要】:随着甲骨文数字化研究的深入,处理的甲骨文信息量日益增长,检索甲骨文信息变得困难。本文研究如何利用Java的全文检索工具包Lucene,构建甲骨文全文检索...
1、易于使用:资源附带的示例代码Demo和示例DML数据,有详细的函数说明和注释,以及请求demo示例,方便用户快速上手。 2、自定义分隔符:支持用户自定义分隔符,如英文逗号、分号等,满足各种复杂的字段拆分需求。 3...