Oracle 全文检索技术在呼叫中心知识库中的应用
知识库作为信息咨询的一个重要功能,为客户电话咨询提供信息来源。
在实际应用中,客户服务中心会承担业务咨询等业务。
这些业务要求坐席人员能快速、正确地判断及解答问题。
【详细介绍:/s/blog_b3b956ae0101duq3.html)。
在知识库的使用过程中,我们希望能在最短的时间找到所需的知识。
如果系统响应时间长或者查询的结果不理想,那知识库库使用的效率将为大大折扣。
亿伦公司研发的infoKM知识库系统使用了oracle全文检索解决了以上问题。
本文将详细介绍oracle全文检索技术在infoKM的应用。
一,Oracle 全文检索技术
Oracle实现全文检索的的组件在Oracle9i中称为Oracle Text, Oracle Text 支持Oracle数据库所支持的大多数语言(包括中文)的基本全文搜索功能. 不使用全文所有功能,也有其他办法Oracle数据库中搜索文本,比如INSTR函数和LIKE操作,但是对海量的文本数据进行搜索时将导致全表扫描,会非常消耗资源.
创建全文索引的步骤:
1,检查数据库中是否有ctxsys用户和ctxapp角色.默认安装情况下,ctxsys用户是被锁定的,因此要先解锁ctxsys的用户
2,给指定用户授权(用ctxsys用户登录),
授权语句:grant execute on ctx_ddl to infocrm_rep.
3,建立一个preference,设置词法分析器(lexer).(ctxsys登录) exec ctx_ddl.create_preference ('my_lexerrep',
'chinese_vgram_lexer')
Oracle针对不同的语言提供了不同的lexer.通常能用到其中的三个: basic_lexer,chinese_vgram_lexer,chinese_lexer。
basic_lexer针对英语,chinese_vgram_lexer专门的汉语分析器,支持所有汉字字符集。
chinese_lexer 只支持utf8字符集
4,建立preference对应的字段值(ctxsys登录)
exec
ctx_ddl.set_attribute('ctx_idx_subject_pref','columns','content,depic
t')
5,建立全文索引(infocrm_rep登录)
create index ctx_idx_subject on knt_zhinnan(content) indextype is ctxsys.context parameters('datastore ctxsys.ctx_idx_subject_pref lexer ctxsys.my_lexerrep')
6,创建索引
create index myindex on knt_zhinnan(content_py) indextype is ctxsys.context parameters('lexer ctxsys.my_lexerrep');
通过以上6步,全文索引就建立好了.使用方法:
select * from knt_zhinnan where contains(CONTENT,'测试标题')>0。