这样建立的全文检索索引,就会使用chinese_vgram_lexer作为分析器。
4.在索引建好后,在该用户下查到Oracle自动产生了以下几个表,可以使用dba studio查看:(假设索引名为myindex):
DR$myindex$I,DR$myindex$K,DR$myindex$R,DR$myindex$N
其中以I表最重要,查询该表:
select token_text, token_count from DR$I_RSK1$I where rownum<=20;
可以看到该表中保存的是Oracle分析你的文档后,生成的term记录,包括term出现的位置、次数、hash值等。
四.使用job定时同步和优化
在intermedia索引建好后,如果表中的数据发生变化,增加或修改了记录,由于对表所发生的任何dml语句,都不会自动修改索引,因此,必须定时同步(sync)和优化(optimize)索引,以正确反映数据的变化。
同步(sync):将新的term 保存到I表;
优化(optimize):清除I表的垃圾,主要是将已经被删除的term从I表删除。
Oracle提供了一个ctx server来做这个同步和优化的工作,只需要在后台运行这个进程,它会监视数据的变化,及时进行同步。但存在许多问题。可以用下的两个job来完成(该job要建在和表同一个用户下):
-- sync:
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''myindex'');',
SYSDATE, 'SYSDATE + (1/24/4)');
commit;
END;
-- optimizer
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''myindex'',''FULL'');',
SYSDATE, 'SYSDATE + 1');
commit;
END; |
注释:第一个job的SYSDATE + (1/24/4)是指每隔15分钟同步一次,第二个job的SYSDATE + 1是每隔1天做一次全优化。至于具体的时间间隔,大家可以根据各自的应用需要来灵活应用。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- SQL Server 索引和查询专题 (3343篇文章)
- 数据库专栏 (5209篇文章)
- 数据库处理专题 (8832篇文章)
- 城域网专题 (7888篇文章)
- 数据库安全技术专题 (13316篇文章)
- 数据库安装与卸载 (10653篇文章)
- Oracle 10g基础应用 (4531篇文章)
- Linux数据库宝典 (13427篇文章)
- 数据库相关文章 (5209篇文章)
- 安装配置 (548篇文章)
- Oracle语句优化规则汇总(8) (80次浏览)
- Oracle数据库中关键字 (54次浏览)
- Data Guard学习物理standby高级管理 (41次浏览)
- ORACLE 10g中ASMCMD使用及ASM文件 (33次浏览)
- 实例讲解清除Oracle 10g RAC CRS的方法 (25次浏览)
- Oracle语句优化规则汇总(7) (21次浏览)
- 深入讲解“database link”的设置和使用 (21次浏览)
- 实例讲解Oracle表碎片的具体起因及解决办法 (20次浏览)
- 甲骨文如何解析语义谜题 (20次浏览)
- 初学者应该如何理解Oracle的架构知识 (17次浏览)



