您现在的位置: 什么是 >> 电脑通讯 >> 文章正文
《什么是Oracle text》
作者:佚名 来源:网络 点击数: 日期:2008-4-28
问题:什么是Oracle text?Oracle text是什么意思?
,然后应用程序以某种形式显示该文档。通过Oracle Text,可以用不同的方式再现文档。例如,可以通过突出显示查询词来显示文档。突出显示的查询词可以是相关词查询中的词,也可以是英文 ABOUT 查询中的主题词。

以下是关于输出效果和用于每个输出效果的过程的信息:

突出显示的文档,纯文本格式版本(CTX_DOC.MARKUP)

突出显示的文档,HTML版本(CTX_DOC.MARKUP)

突出显示纯文本格式版本的偏移量信息(CTX_DOC.HIGHLIGHT)

突出显示HTML 版本的偏移量信息(CTX_DOC.HIGHLIGHT)

纯文本格式版本,无突出显示(CTX_DOC.FILTER)

HTML版本文档,无突出显示(CTX_DOC.FILTER)

7、索引维护

索引建好后,如果表中的数据发生变化,比如增加或修改了记录,怎么办?由于对表所发生的任何DML语句,都不会自动修改索引,因此,必须定时同步(sync)和优化(optimize)索引,以正确反映数据的变化。

在索引建好后,可以在该用户下查到Oracle自动产生了以下几个表:(假设索引名为myindex):

DR$myindex$I,DR$myindex$K,DR$myindex$R,DR$myindex$N

其中以I表最重要,可以查询一下该表:

select token_text, token_count from DR$ myindex $I where rownum<=20;

查询结果在此省略。可以看到,该表中保存的其实就是Oracle 分析你的文档后,生成的term记录

在这里,包括term出现的位置、次数、hash值等。当文档的内容改变后,可以想见这个I表的内容也应该相应改变,才能保证Oracle在做全文检索时正确检索到内容(因为所谓全文检索,其实核心就是查询这个表)。那么如何维护该表的内容,不能每次数据改变都重新建立索引,这就要用到sync 和 optimize了。

同步(sync):将新的term 保存到I表;

优化(optimize):清除I表的垃圾,主要是将已经被删除的term从I表删除。

Oracle提供了一个所谓的ctx server来做这个同步和优化的工作,只需要在后台运行这个进程,它会监视数据的变化,及时进行同步。另外,也可以用以下的job来完成(该job要建在和表同一个用户下):

create or replace procedure sync

is

begin

execute immediate

'alter index myindex rebuild online' ||

' parameters ( ''sync'' )' ;

execute immediate

'alter index myindex rebuild online' ||

' parameters ( ''optimize full maxtime unlimited'' )' ;

end sync;

上一页  [1] [2] [3] [4] [5] [6] 下一页

  • 上一条文章:
  • 下一条文章: 没有了
  • 版权声明:《什么是Oracle text》来源网络,版权归原作者所有,若涉及版权问题,请与我们联系,我们会及时删除!若标明本站原创或者来源www.shenmeshi.com的,转载时请注明,谢谢!所有文章仅供参考,并不构成操作建议! mail:shenmeshi.cn(AT)gmail.com
    评论
    站内文章搜索