知識(shí)庫(kù)作為信息咨詢的一個(gè)重要功能,為客戶電話咨詢提供信息來源。在實(shí)際應(yīng)用中,客戶服務(wù)中心會(huì)承擔(dān)業(yè)務(wù)咨詢等業(yè)務(wù)。這些業(yè)務(wù)要求坐席人員能快速、正確地判斷及解答問題。
【詳細(xì)介紹:http://blog.sina.com.cn/s/blog_b3b956ae0101duq3.html)。
在知識(shí)庫(kù)的使用過程中,我們希望能在最短的時(shí)間找到所需的知識(shí)。如果系統(tǒng)響應(yīng)時(shí)間長(zhǎng)或者查詢的結(jié)果不理想,那知識(shí)庫(kù)庫(kù)使用的效率將為大大折扣。億倫公司研發(fā)的infoKM知識(shí)庫(kù)系統(tǒng)使用了oracle全文檢索解決了以上問題。本文將詳細(xì)介紹oracle全文檢索技術(shù)在infoKM的應(yīng)用。
一,Oracle 全文檢索技術(shù)
Oracle實(shí)現(xiàn)全文檢索的的組件在Oracle9i中稱為Oracle Text, Oracle Text支持Oracle數(shù)據(jù)庫(kù)所支持的大多數(shù)語言(包括中文)的基本全文搜索功能. 不使用全文所有功能,也有其他辦法Oracle數(shù)據(jù)庫(kù)中搜索文本,比如INSTR函數(shù)和LIKE操作,但是對(duì)海量的文本數(shù)據(jù)進(jìn)行搜索時(shí)將導(dǎo)致全表掃描,會(huì)非常消耗資源.
創(chuàng)建全文索引的步驟:
1, 檢查數(shù)據(jù)庫(kù)中是否有ctxsys用戶和ctxapp角色. 默認(rèn)安裝情況下,ctxsys用戶是被鎖定的,因此要先解鎖ctxsys的用戶
2, 給指定用戶授權(quán)(用ctxsys用戶登錄),
授權(quán)語句:grant execute on ctx_ddl to infocrm_rep.
3, 建立一個(gè)preference,設(shè)置詞法分析器(lexer).( ctxsys登錄)
exec ctx_ddl.create_preference ('my_lexerrep', 'chinese_vgram_lexer')
Oracle針對(duì)不同的語言提供了不同的lexer.
通常能用到其中的三個(gè): basic_lexer,chinese_vgram_lexer,chinese_lexer。basic_lexer針對(duì)英語,chinese_vgram_lexer專門的漢語分析器,支持所有漢字字符集。chinese_lexer只支持utf8字符集
4,建立preference對(duì)應(yīng)的字段值(ctxsys登錄)
exec ctx_ddl.set_attribute('ctx_idx_subject_pref','columns','content,depict')
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,創(chuàng)建索引
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,'測(cè)試標(biāo)題')>0