oracle 全文检索创建脚本示例

--创建全文索引

grant execute on ctx_ddl to username;--使用其他帐号对username授权
exec ctx_ddl.create_preference(‘my_lexer‘,‘chinese_lexer‘);--创建chinese_lexer词法器(中文词法分析器)
exec ctx_ddl.create_preference(‘my_filter‘,‘CHARSET_FILTER‘);--创建字符过滤器
exec ctx_ddl.set_attribute(‘my_filter‘,‘charset‘,‘ZHS16GBK‘);--设置过滤器字符编码
create index idx_tablename_colname on tablename(colname) indextype is ctxsys.context parameters(‘lexer my_lexer‘);--在tablename上创建索引

--使用全文检索:

select * from tablename where contains(col,‘北京‘);

--全文索引同步

例如: 同步索引myindex:Exec ctx_ddl.sync_index (‘myindex‘); 实施建议:建议通过oracle的job对索引进行同步

--全文索引优化

    经常的索引同步将会导致你的CONTEXT索引产生碎片。索引碎片严重的影响了查询的反应速度。你可以定期优化索引来减少碎片,减少索引大小,提高查询效率。
    当文本从表中删除的时候,Oracle Text标记删除的文档,但是并不马上修改索引。因此,就的文档信息占据了不必要的空间,导致了查询额外的开销。    你必须以FULL模式优化索引,从索引中删除无效的旧的信息。这个过程叫做垃圾处理。当你经常的对表文本数据进行更新,删除操作的时候,垃圾处理是很必要的。
时间: 2024-12-17 02:38:38

oracle 全文检索创建脚本示例的相关文章

Oracle 实例创建脚本

遥想刚入职时,一台服务器就挂了,所以就是在"危难"中有机会学习.在夜深人静时,我想去回忆一下Oracle实例的创建.一种方法,DBCA,图形界面,但是需要依赖xming或xmanager这类软件:另一种方法就是脚本创建Oracle数据库实例.第一种方法简单,易上手,但是对初学者,不能学习到更多数据库知识:第二种方法用脚本就能更了然数据库的各种文件以及参数.本文只介绍脚本创建Oracle实例. 记得2010年,还是用Oracle10g,如今用11g,他们的差异在于dump 目录略不同.我

Oracle中创建触发器示例及注意事项

Oracle中创建触发器示例及注意事项 1.oracle 中创建触发器示例 CREATE TABLE "CONCEPT"."FREQUENCYMODIFYLOG" ( "FREQUENCYID" NUMBER(10,0), "NAME" NVARCHAR2(30), "CODE" VARCHAR2(10 CHAR), "MNEMONICCODE" VARCHAR2(10 CHAR), &

Oracle 11g R2 RAC RMAN备份脚本示例

一.将RAC切换成归档模式 1. 修改数据库的归档模式,通常在安装RAC的时候都会配置归档并且使用闪回区,已经配置过归档下面的方式可以略过. SQL> alter system set cluster_database=false scope=spfile sid='*'; 2. 关闭所有实例(两边都要shutdown) SQL> shutdown immediate 或直接关闭所有实例   $ srvctl stop database -d orcl 3. 在任意一个实例上将数据库启动到mo

Oracle工具类-生成数据库现有Job的创建脚本

生成Oracle数据库现有Job的创建脚本 -- 生成现有Job的创建脚本 create or replace procedure proc_generate_job_create_sql is begin DBMS_OUTPUT.ENABLE(buffer_size => null); --表示输出buffer不受限制 sys.dbms_output.put_line('declare'); sys.dbms_output.put_line(' v_job number;'); sys.dbm

linux添加开机自启动脚本示例详解

来源: linux添加开机自启动脚本示例详解 linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after*

Oracle批量执行脚本文件

以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name varchar2(50) ); Commit; / 可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报错. 例如创建表时 create table t( id varchar2(20), Name varchar2(30) ); 上面这个文件

Oracle 10g创建表空间的完整步骤详解

本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专场 Oracle 10g数据库中,当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间. 那么创建表空间的步骤是怎样实现的呢?本文我们主要就介绍了这一部分内容,接下来就让我们一起来了解一下这部分内容吧. 1.创建表空间 不论是Lnux环境,还是Wndows环境,都要

SqlServer 审核(脚本示例)

此文章主要是脚本示例,更多说明看官方文档:审核(数据库引擎) -- 必须在 master 数据库中创建审核 USE master; GO -- 创建服务器审核对象 -- https://msdn.microsoft.com/zh-cn/library/cc280448(v=sql.100).aspx CREATE SERVER AUDIT [Audit_ToFile] TO FILE ( --目标类型:FILE(文件)/APPLICATION_LOG(应用程序日志)/SECURITY(安全日志)

Oracle数据创建表空间

一.直接在服务器端通过sqlplus命令行创建: 如果您用的是Linux系统,那么Oracle用户名为oracle.同时,您是在oracle服务器上操作. 如果是在Windows系统下, 请先点击"开始",然后点"运行",输入cmd并点击"确定",打开命令行窗口 如果是在Linux的图形窗口,请右键点击桌面并点击"打开终端",然后输入    su  -   oracl 做好上述准备工作以后,输入以下命令: sqlplus