WEB开发网
开发学院数据库Oracle 在UNIX服务器上设置Oracle8i全文检索 阅读

在UNIX服务器上设置Oracle8i全文检索

 2007-05-08 12:11:03 来源:WEB开发网   
核心提示: chinese_lexer: 这是一个新的汉语分析器,只支持utf8字符集,在UNIX服务器上设置Oracle8i全文检索(4),上面已经看到,chinese vgram lexer这个分析器由于不认识常用的汉语词汇,DR$myindex$R,DR$myindex$N其中以I表最重要,因此

chinese_lexer: 这是一个新的汉语分析器,只支持utf8字符集。上面已经看到,chinese vgram lexer这个分析器由于不认识常用的汉语词汇,因此分析的单元非常机械,像上面的‘民站’,‘站起’在汉语中根本不会单独出现,因此这种term是没有意义的,反而影响效率。chinese_lexer的最大改进就是该分析器 能认识大部分常用汉语词汇,因此能更有效率地分析句子,像以上两个愚蠢的单元将不会再出现,极大 提高了效率。但是它只支持 utf8, 如果你的数据库是zhs16gbk字符集,则只能使用笨笨的那个Chinese vgram lexer.

如果不做任何设置,Oracle 缺省使用basic_lexer这个分析器。要指定使用哪一个lexer, 可以这样操作:

第一.在ctxsys用户下建立一个preference:

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

第二.在建立intermedia索引时,指明所用的lexer:

create index myindex on mytable(mycolumn) indextype is ctxsys.context 
parameters('lexer my_lexer');

这样建立的全文检索索引,就会使用chinese_vgram_lexer作为分析器。

4.使用job定时同步和优化

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

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

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

其中以I表最重要,可以查询一下该表,看看有什么内容:

上一页  1 2 3 4 5 6 7  下一页

Tags:UNIX 服务器 设置

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接