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

oracle text index create and use

阅读更多
一、Install Text Index

1,The steps of context install on Oracle 10g.

1, create tablespace drsys
2, run @?/ctx/admin/catctx.sql ctxsys drsys temp01 nolock 
3, run @?/ctx/admin/defaults/drdefus.sql(-- run as ctxsys)
4, grant execute on ctxsys.ctx_ddl to public 


The steps of context uninstall (remove) on Oracle 10g.

-- run as sys 
@?/ctx/admin/catnoctx.sql 


2,The steps of context install on Oracle 9i.
1, create tablespace drsys
2, run ?/ctx/admin/dr0csys ctxsys drsys temp01
3, conn to ctxsys user
4, run ?/ctx/admin/dr0inst ?/ctx/lib/libctxx9.so
5, run ?/ctx/admin/defaults/drdefus.sql
6, grant execute on ctxsys.ctx_ddl to public; 


The steps of context uninstall (remove) on Oracle 9i.

-- run as ctxsys
$ORACLE_HOME/ctx/admin/dr0drop.sql
-- run as sys
$ORACLE_HOME/ctx/admin/dr0dsys.sql 


3,Verification of the context installation.
-- check dba_registry
col version format a14
col comp_name format a30
select COMP_NAME,VERSION,STATUS from dba_registry;

-- Create a sample table
create table  cr_ctxdemo (col1 number not null primary key, col2 varchar2(100));
insert into cr_ctxdemo values (1,'Oracle A B C');
commit;
create index idx_cr_ctxdemo_col2 on cr_ctxdemo(col2) indextype is ctxsys.context;
select col1 from cr_ctxdemo where contains(col2,'A or C') > 0;
set autot trace exp
select col1 from cr_ctxdemo where contains (col2,'A') > 0;
set autot off
drop table cr_ctxdemo; 


二、Use The Text Index


begin ctx_ddl.create_preference('smshis_fullidx','chinese_vgram_lexer'); end;


begin 
    Ctx_Ddl.Drop_Preference('smshis_fullidx'); 
END;
begin ctx_ddl.create_preference('smshis_fullidx','BASIC_LEXER'); end;

DROP INDEX smshis_text_idx_mobile;

Create Index smshis_text_idx_mobile On smshis(mobile) Indextype Is
Ctxsys.Context Parameters('lexer smshis_fullidx');

select mobile mobileNum,status,to_char(startTime,'yyyymmddhh24miss') sendTime,contents content, alarmType 
from smshis
where  mobile LIKE '%13911905263%';

select mobile mobileNum,status,to_char(startTime,'yyyymmddhh24miss') sendTime,contents content, alarmType 
from smshis
where contains (mobile,'13911905263',1) >0;



三、Question

1)It will not correct the result?
2)It must sync the text index by running job.



四、Reference Web Link
1)http://asktom.oracle.com/pls/apex/f?p=100:11:0::NO::P11_QUESTION_ID:2200894550208
2)http://forums.oracle.com/forums/thread.jspa?threadID=882001
3)http://www.oracle-base.com/articles/9i/FullTextIndexingUsingOracleText9i.php
4)http://blog.csdn.net/hunterdiary/archive/2009/04/02/4043099.aspx
分享到:
评论

相关推荐

    最全的oracle常用命令大全.txt

    SQL>select text from all_source where owner=user and name=upper('&plsql_name'); 三、查看数据库的SQL 1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size ...

    ora分析脚本

    -u user/pass use USER/PASS to log in -i instance# append # to ORACLE_SID -sid <sid> set ORACLE_SID to sid -top # limit some large queries to on # rows - repeat <interval> |forever> Repeat an ...

    端口查看工具

    of cports.exe, and CurrPorts will automatically use it to get the country/city information for every remote IP address. * Version 2.02: o CurrPorts now displays a simple error message if it fails ...

    MySQL Learning MySQL入门

    1. 创建索引:使用`ALTER TABLE`或`CREATE INDEX`语句为表的列创建索引,加快查询速度,如`CREATE INDEX idx_name ON users (name);` 2. 优化查询:合理设计数据库结构,避免全表扫描,使用合适的索引,以及适时进行...

    mysql基础笔记

    CREATE DATABASE创建新的数据库,USE选择要使用的数据库,DROP DATABASE删除数据库。表的操作还包括ALTER TABLE修改表结构,RENAME TABLE重命名表。 通过这些基础知识的学习,你可以开始理解和操作MySQL数据库,...

    MySql的一点学习笔记.zip

    使用`CREATE DATABASE`语句可以创建新的数据库,`USE`语句切换到指定数据库,`DROP DATABASE`语句删除数据库。同时,需要掌握如何管理权限,例如使用`GRANT`和`REVOKE`命令赋予或撤销用户对数据库的操作权限。 5. ...

    MySQL使用手册、帮助文档

    `CREATE INDEX`用于创建索引,`ALTER TABLE`可用于添加、删除和重命名索引。 七、视图 视图是虚拟表,基于一个或多个表的查询结果。创建视图使用`CREATE VIEW`,查询视图如同查询普通表,更新视图则需要满足特定...

    关系型输据库的学习,以mysql为例子.zip

    `ALTER TABLE table_name ADD INDEX index_name (column_name);`用于为列添加索引。 事务是关系型数据库中的重要概念,它们保证了一组操作的原子性。例如,银行转账涉及两个账户的余额更新,即使在中间发生错误,也...

    MYSQL帮助手册

    1. 数据库操作:创建(CREATE DATABASE)、删除(DROP DATABASE)、切换(USE)和显示(SHOW DATABASES)数据库。 2. 表操作:创建(CREATE TABLE)、修改(ALTER TABLE)、删除(DROP TABLE)和查看(DESCRIBE)表...

    MySQL笔记.rar

    索引能显著提升查询速度,`CREATE INDEX`用于创建索引,`DROP INDEX`删除索引。B-Tree、Hash、Full-text等是常见的索引类型,理解它们的工作原理和适用场景很重要。 7. **事务处理** 事务是数据库操作的基本单元...

    php.ini-development

    and you cannot use both "ob_gzhandler" and "zlib.output_compression". ; Note: output_handler must be empty if this is set 'On' !!!! ; Instead you must use zlib.output_handler. ; ...

    数据库总结

    - 索引:通过`CREATE INDEX`为表的列创建索引,提高查询速度。常见的索引类型有B-Tree、Hash、Full-text等。 - 查询优化:合理设计索引、避免全表扫描、减少子查询、优化JOIN操作等都是提升性能的关键。 - EXPLAIN...

    sqlmap (懂的入)

    * Full support for MySQL, Oracle, PostgreSQL and Microsoft SQL Server database management system back-end. Besides these four DBMS, sqlmap can also identify Microsoft Access, DB2, Informix and ...

    MySQL入门很简单

    - MySQL:由瑞典MySQL AB公司开发,现已被Oracle公司收购。它是基于SQL标准的,支持多种操作系统,包括Windows、Linux、Unix等。 2. 安装与配置: - 下载安装:可以从MySQL官方网站下载适合操作系统的安装包,...

    数据库 MySQL入门教程

    1. 数据库操作:CREATE DATABASE用于创建数据库,DROP DATABASE删除数据库,USE切换当前工作数据库。 2. 表操作:CREATE TABLE定义表结构,ALTER TABLE修改表结构,DROP TABLE删除表。 3. 数据插入:INSERT INTO向表...

    Mysql操作命令

    **命令:** `create index [index_name] on [table_name] ([column_name][(length)], ...);` **功能:** 在指定的表上创建索引,以加快查询速度。 **说明:** 索引是提高数据库性能的关键手段之一。合理地创建索引...

    mysql总结超详细

    使用`SELECT * FROM mysql.user WHERE Host = 'localhost' AND User = 'current_user';`命令查看当前登录的用户。 ##### 1.9.8 删除数据库多余的账号 使用`DROP USER 'username'@'host';`命令删除不需要的用户账户...

    经典SQL语句大全

    8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select ...

    数据库操作语句大全(sql)

    8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select ...

Global site tag (gtag.js) - Google Analytics