全文检索在知识库系统中的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

相关文档
最新文档