快速使用oracle的全文检索
来源:互联网 发布:河下水希画工知乎 编辑:程序博客网 时间:2024/04/29 12:00
1.给你的数据库用户赋权
SQL> grant ctxapp to <用户>;
SQL> grant execute on ctxsys.ctx_ddl to <用户>;
2.建索引
注意:把 <aaa> 换成表空间的名字。最好新建一个,这是用来存放text index (全文检索索引)的
begin
ctx_ddl.create_preference('自定义_lexer','CHINESE_VGRAM_LEXER');
ctx_ddl.create_preference('自定义_store','BASIC_STORAGE');
ctx_ddl.set_attribute('自定义_store', 'I_TABLE_CLAUSE',
'tablespace 表空间名称');
ctx_ddl.set_attribute('自定义_store', 'K_TABLE_CLAUSE',
'tablespace 表空间名称');
ctx_ddl.set_attribute('自定义_store', 'R_TABLE_CLAUSE',
'tablespace 表空间名称');
ctx_ddl.set_attribute('自定义_store', 'N_TABLE_CLAUSE',
'tablespace 表空间名称');
ctx_ddl.set_attribute('自定义_store', 'I_INDEX_CLAUSE',
'tablespace 表空间名称');
ctx_ddl.set_attribute('自定义_store', 'P_TABLE_CLAUSE',
'tablespace 表空间名称');
end;
/
CREATE INDEX 索引名称
ON 表名(列名) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('LEXER 自定义_lexer
STORAGE 自定义_store
MEMORY 50M'); //如果内存2g的话可改为100M
3.索引同步与优化(注意:text index 与普通索引不同,不是实时的)
SQL>ctxsys.ctx_ddl.sync_index('CTX_DEVICE_NOTICE_EVENT','10M'); //如果内存2g的话可改为100M,用于同步索引,要跟一段时间执行一次,比如15分钟.
SQL>ctxsys.ctx_ddl.optimize_index('CTX_DEVICE_NOTICE_EVENT','FULL'); //用于优化索引,一般一天执行一次就行.
4.查询方法
4.1
select * from DEVICE_NOTICE_EVENT
where contains(SOURCE_NAME,'aaa')>0
等价于原来的
select * from DEVICE_NOTICE_EVENT
where SOURCE_NAME like '%aaa%'
4.2
select * from DEVICE_NOTICE_EVENT
where contains(SOURCE_NAME,'aaa & bbb')>0
等价于原来的
select * from DEVICE_NOTICE_EVENT
where SOURCE_NAME like '%aaa%' and SOURCE_NAME like '%bbb%'
4.3
select * from DEVICE_NOTICE_EVENT
where contains(SOURCE_NAME,'aaa | bbb')>0
等价于原来的
select * from DEVICE_NOTICE_EVENT
where SOURCE_NAME like '%aaa%' or SOURCE_NAME like '%bbb%'
- 快速使用oracle的全文检索
- oracle全文检索的创建及使用
- Oracle的全文检索技术
- Oracle的全文检索功能
- oracle全文检索的配置
- oracle基本的全文检索
- 全文检索Lucene的使用
- 如何使用Oracle全文检索功能
- 使用Oracle Text进行全文检索
- oracle全文索引(全文检索)的介绍,使用和创
- oracle全文索引(全文检索)的介绍,使用和创
- mysql 全文检索 百万条记录的快速检索
- Oracle全文检索方面的研究(全)
- Oracle全文检索方面的研究(全)
- Oracle 全文检索 中文检索
- Oracle Text 全文检索
- oracle 全文检索
- Oracle 全文检索功能
- 网上关于企业评定的一些说法
- 使用 链接服务器执行SELECT、UPDATE、INSERT 或 DELETE 及其它命令
- Ubuntu9.04没有声音解决办法
- 在VS2005下编译was declared deprecated警告
- SmartPhone手机上查看QQ天气预报
- 快速使用oracle的全文检索
- VBA中,可以利用下面的语句来调用Excel内置对话框 VBA中,可以利用下面的语句来调用Excel内置对话框
- 工作总结
- 一道面试题,你的思维够发散吗?
- 一个月赚5万美元--国产共享软件开发者周奕
- 在线客服 上下滚动 qq 简单明了 绝对不会报错 大众的选择 在线客服qq
- Windows CE 系统启动流程-翻译至Windows CE fundamental
- 中文参数传递编码后传递乱码解决
- CentOS 2.6.32内核升级遇到问题记录以备忘