`
javaxhw
  • 浏览: 37350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

创建并使用oracle全文搜索

阅读更多
说明:使用全文索引需要使用词法分析器,什么叫词法分析器呢,如:你想搜索"中国人",那么数据库的底层就会给你以“中国”、“国人”等等进行解析去搜索,大概就是这样,oracle有几个可供选择的分析器,默认创建全文搜索时会默认有一个分析器,不过对中文搜索支持的不是太好,其中'chinese_vgram_lexer'分析器是对中文支持最好的,所以呢在创建全文搜索时应该要制定一个索引的解析器,之后就可以利用sql语句去根据建立的索引字段并利用contains(字段名称,'关键字')>0 的函数去查询了,很简单,下面上代码:

 准备工作:

在进行下面的代码之前首先要确保你的数据库中有CTXSYS用户并且还要CTXAPP角色权限,如果没有这个用户和角色,说明你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。 默认安装情况下,ctxsys用户是被锁定的,因此要先启用ctxsys的用户。



下面是代码了:



--定义词法分析器
BEGIN
  ctx_ddl.create_preference ('joblexer', 'chinese_vgram_lexer');、
END;

说明:'joblexer'代表你使用的定义的分析器的名称,名字可以随便写,便于创建索引时使用



--创建全文索引并制定分析器
CREATE INDEX  索引的名称 ON 表名(表字段) indextype is ctxsys.context parameters('lexer  自定义的分析器的代指名称');

如:CREATE INDEX  jobindex ON mr_job(name) indextype is ctxsys.context parameters('lexer joblexer');


--删除索引(不想要了,可以执行这条语句删除)
drop index jobindex force



--sql查询语句
select j.name from mr_job j where   contains(j.name,'服务员')>0



--同步索引
BEGIN
ctx_ddl.sync_index('jobindex');
END;

(当我们对表执行了删除、修改、增加的操作的话,就要对搜因进行一下跟新了,不更新的话,索引对以前的信息有效,搜索的还是以前的信息,更改的或者添加的就永远也搜不到,所以修改了或者添加了就需要更新下索引了)
分享到:
评论

相关推荐

    Oracle全文检索技术详解

    可以使用CTX_DDL包的CREATE_INDEX过程来创建Oracle Text索引,例如: ```sql BEGIN CTX_DDL.CREATE_INDEX('documents_idx', 'documents', 'content'); END; / ``` 最后,可以通过CTX_QUERY包提供的函数和操作符来...

    oracle全文检索的实现

    3. **建立索引**:使用Oracle Text提供的工具或API,建立全文索引,这是全文检索的基础。 4. **发出查询**:通过SQL语句执行全文检索,利用Oracle Text提供的搜索语法,如CONTAINS函数。 5. **索引维护**:定期...

    oracle 全文检索实现

    在全文检索时,程序会提取 CONTENT 中的每一个词,创建索引时需要使用分词器来切分 CONTENT,找出每一个单词。中文的句子由词与词之间相互连接,没有明显的区分,需要将句子切分成单词,需要更为复杂的分词算法来...

    20081224-安装配置oracle全文检索

    Oracle全文检索是Oracle数据库系统中的一种高级特性,用于在数据库中的文本数据中执行高效、复杂的全文搜索。在本文中,我们将深入探讨如何安装和配置Oracle Text,以及它所依赖的关键角色和用户。 首先,要使用...

    oracle全文检索

    Oracle Text不仅适用于在数据库中搜索文本,还能够处理多种文档格式,如ORD、Excel、Lotus等,并能从Internet和文件系统中检索文本数据,同时在XML应用程序中也有广泛的应用。 在没有使用Oracle Text的情况下,搜索...

    oracle全文检索.pdf

    5. **索引 (Index)**:将处理后的词汇添加到实际的索引中,以供后续检索使用。 #### 四、Oracle Text 安装与配置 在不同的 Oracle 版本中,安装和配置 Oracle Text 的过程略有不同。以 Oracle10g 为例,配置步骤...

    Oracle的全文检索技术

    Oracle的全文检索技术是Oracle数据库系统中用于高效检索和管理大量文本信息的一种功能。随着Oracle9i Release2的发布,Oracle Text成为Oracle数据库的核心组成部分,提供了强大的文本检索和管理能力。Oracle Text...

    oracle全文检索使用说明

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

    基于ORACLE数据库的全文检索技术的安装和使用方法

    Oracle全文检索技术是一种在Oracle数据库中实现高效文本搜索的功能,主要应用于大数据量的文本信息查找。在Oracle 9i Release 2中,这项技术被称为Oracle Text。本文将详细介绍Oracle Text的安装与使用方法。 首先...

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

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

    如何更好的利用Oracle全文检索.docx

    2. 赋权:在CTXSYS用户下把CTX_DDL的执行权限赋于要使用全文索引的用户。 3. 设置词法分析器(lexer):Oracle提供了多种词法分析器,如basic_lexer、chinese_vgram_lexer和chinese_lexer等。不同的词法分析器适用于...

    ORACLE 全文检索实例

    Oracle全文检索是一种强大的功能,它允许在数据库中的文本字段中进行复杂的搜索操作。在Oracle数据库中,全文检索主要依赖于Oracle Text组件,它提供了高级的文本分析和检索能力。以下是对Oracle全文检索实例的详细...

    搜索引擎全文检索技术 oracle

    Oracle全文检索技术是数据库管理系统Oracle中的一个重要特性,它允许用户在数据库中进行高效、精确的文本搜索。全文检索技术能够理解自然语言,并从中提取出关键信息,为用户提供类似搜索引擎的体验。以下是对Oracle...

    ORACLE 全文检索实例.rar

    Oracle全文检索是数据库管理系统Oracle中的一个强大功能,它允许用户以自然语言的形式搜索数据库中的文本信息,而不仅仅是基于关键字的精确匹配。Oracle的全文检索功能提供了高效、灵活且可定制的搜索体验,对于处理...

    Oracle 全文检索应用

    3. **创建索引**:使用Oracle Text提供的工具或PL/SQL程序包创建全文索引。这通常涉及到定义索引首选项,如语言设置、停用词等。 4. **查询和管理**:一旦索引建立,就可以通过标准SQL查询语句来执行全文检索。此外...

    ORacle 全文索引

    1. 创建索引:使用CREATE INDEX语句创建全文索引,指定索引类型(如CTX),并提供包含文本数据的列名。 2. 分析索引:创建索引后,使用DBMS_INDEXAnalyzer进行分析,以优化索引性能。 三、全文检索语法 1. 使用...

    Oracle全文搜索设置方法

    Oracle全文搜索使用外部调用功能(extproc)来处理Intermedia的调用。首先,你需要更新监听器(listener)配置,使其能够监听Intermedia请求。你可以使用`$ORACLE_HOME/bin/netassist`工具或手动编辑`$ORACLE_HOME/...

Global site tag (gtag.js) - Google Analytics