ORACLE 全文索引

在有用户CTXSYS和角色CTXAPP的情况下

exec ctx_ddl.create_preference ('my_lexer','chinese_vgram_lexer');

  

oracle text中的分析器有3种:

    (1)basic_lexer:只能根据空格和标点来进行拆分。

    (2)chinese_vgram_lexer:专门的汉语分析器,按字单元进行拆分。这种方式的好处是能够将所有有可能的词组全部保存进索引表,使得数据不会遗漏。

    (3)chinese_lexer:一种新的汉语分析器,能够认识大部分常用的汉语词汇,并按常用词汇进行拆分存储。

    每一种分析器都有它最适合的应用环境,这个要根据自己数据库的编码方式和数据存储情况进行选择。

创建索引:

create index SYS_USER_INDEX on SYS_USER(USERNAME) indextype is CTXSYS.CONTEXT parameters ('lexer my_lexer'); //无法自动更新

exec ctx_ddl.sync_index('SYS_USER_INDEX'); //手动更新

create index SYS_USER_INDEX on SYS_USER(USERNAME) indextype is CTXSYS.CONTEXT parameters ('lexer my_lexer sync (on commit)'); //自动更新

猜你喜欢

转载自www.cnblogs.com/suru723/p/11699249.html