国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談Lucene在號(hào)百搜索引擎系統(tǒng)中的集成

2012-12-31 00:00:00張建軍王劍霞
科技資訊 2012年21期


  號(hào)碼百事通系統(tǒng)是一個(gè)涉及多種電信信息資源、復(fù)雜業(yè)務(wù)關(guān)系的數(shù)據(jù)挖掘和信息服務(wù)支撐系統(tǒng)。其中坐席搜索功能是號(hào)百平臺(tái)滿足客戶需求的接口,主要負(fù)責(zé)配合工作人員高效、精確的查詢出客戶所需資料并反饋;直接影響著客戶感受和滿意度。
  號(hào)百平臺(tái)基本搜索功能,主要通過具體的條件需求從現(xiàn)擁有的索引文件中提取出相應(yīng)內(nèi)容,后反查于數(shù)據(jù)庫文件以顯示詳細(xì)信息;并要求保證易操作,高速,高效,高精準(zhǔn)度。號(hào)百搜索引擎系統(tǒng)采用全文搜索引擎,它擁有自己的檢索程序,自動(dòng)從客戶信息平臺(tái)提取各種公開的信息(以文字為主),建立起標(biāo)簽和索引文件,搜索結(jié)果直接從自身的索引文件中調(diào)用,能檢索與用戶查詢條件相匹配或相關(guān)的記錄,按一定的排序規(guī)則返回結(jié)果(搜索條件符合度優(yōu)先)。按字和按詞是全文檢索的兩種主要方法。按字檢索是指將各詞組分開,給文中的每個(gè)字都分別建立獨(dú)立檢索。而各個(gè)語言不同,每個(gè)字的含義也不一樣,就像英文里邊的字其實(shí)就是詞,但是中文里的字和詞卻是分開的,并且意思差別很大。按詞檢索則是針對(duì)文中的各詞,建立詞義單位的索引,檢索時(shí)按詞檢索,并且可以處理同義項(xiàng)等。
  號(hào)百搜索引擎的索引是以客戶為中心,以客戶基本屬性和碼號(hào)建立的索引,用戶可以在這兩方面進(jìn)行雙向查詢;同時(shí)隨著號(hào)百客戶信息深度的增大(包括新增行業(yè)及其擴(kuò)展信息),若這些擴(kuò)展的信息不能在語音搜素引擎中使用,給電信帶來很大的損失。為此,我們將在基礎(chǔ)信息中擴(kuò)展的部分也建立若干文檔和索引的對(duì)應(yīng)關(guān)系,在新建的文檔索引和客戶基本信息屬性索引在相互間也存在對(duì)應(yīng)關(guān)系,這樣的設(shè)計(jì)能夠帶來擴(kuò)展信息單獨(dú)能夠搜索,擴(kuò)展信息可以和客戶信息聯(lián)合查詢。
  1 Lucene簡介
  Lucene是apache軟件基金會(huì) jakarta項(xiàng)目組的一個(gè)子項(xiàng)目,是一個(gè)開放源代碼的全文檢索引擎工具包,即它不是一個(gè)完整的全文檢索引擎,而是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎。Lucene的目的是為軟件開發(fā)人員提供一個(gè)簡單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實(shí)現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。
  作為一個(gè)開放源代碼項(xiàng)目,Lucene從問世之后,引發(fā)了開放源代碼社群的巨大反響,程序員們不僅使用它構(gòu)建具體的全文檢索應(yīng)用,而且將之集成到各種系統(tǒng)軟件中去,以及構(gòu)建Web應(yīng)用,甚至某些商業(yè)軟件也采用了Lucene作為其內(nèi)部全文檢索子系統(tǒng)的核心。apache軟件基金會(huì)的網(wǎng)站使用了Lucene作為全文檢索的引擎,IBM的開源軟件eclipse的2.1版本中也采用了Lucene作為幫助子系統(tǒng)的全文索引引擎,相應(yīng)的IBM的商業(yè)軟件Web Sphere中也采用了Lucene。Lucene以其開放源代碼的特性、優(yōu)異的索引結(jié)構(gòu)、良好的系統(tǒng)架構(gòu)獲得了越來越多的應(yīng)用。
  Lucene作為一個(gè)全文檢索引擎,其具有如下突出的優(yōu)點(diǎn)。
  (1)索引文件格式獨(dú)立于應(yīng)用平臺(tái)。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺(tái)的應(yīng)用能夠共享建立的索引文件。
  (2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實(shí)現(xiàn)了分塊索引,能夠針對(duì)新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達(dá)到優(yōu)化的目的。
 ?。?)優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對(duì)于Lucene擴(kuò)展的學(xué)習(xí)難度降低,方便擴(kuò)充新功能。
 ?。?)設(shè)計(jì)了獨(dú)立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴(kuò)展新的語言和文件格式,只需要實(shí)現(xiàn)文本分析的接口。
  (5)已經(jīng)默認(rèn)實(shí)現(xiàn)了一套強(qiáng)大的查詢引擎,用戶無需自己編寫代碼即使系統(tǒng)可獲得強(qiáng)大的查詢能力,Lucene的查詢實(shí)現(xiàn)中默認(rèn)實(shí)現(xiàn)了布爾操作、模糊查詢(Fuzzy Search)、分組查詢等等。
  面對(duì)已經(jīng)存在的商業(yè)全文檢索引擎,Lucene也具有相當(dāng)?shù)膬?yōu)勢(shì)。首先,它的開發(fā)源代碼發(fā)行方式(遵守Apache Software License),在此基礎(chǔ)上程序員不僅僅可以充分的利用Lucene所提供的強(qiáng)大功能,而且可以深入細(xì)致的學(xué)習(xí)到全文檢索引擎制作技術(shù)和面相對(duì)象編程的實(shí)踐,進(jìn)而在此基礎(chǔ)上根據(jù)應(yīng)用的實(shí)際情況編寫出更好的更適合當(dāng)前應(yīng)用的全文檢索引擎。在這一點(diǎn)上,商業(yè)軟件的靈活性遠(yuǎn)遠(yuǎn)不及Lucene。其次,Lucene秉承了開放源代碼一貫的架構(gòu)優(yōu)良的優(yōu)勢(shì),設(shè)計(jì)了一個(gè)合理而極具擴(kuò)充能力的面向?qū)ο蠹軜?gòu),程序員可以在Lucene的基礎(chǔ)上擴(kuò)充各種功能,比如擴(kuò)充中文處理能力,從文本擴(kuò)充到HTML、PDF等文本格式的處理,編寫這些擴(kuò)展的功能不僅僅不復(fù)雜,而且由于Lucene恰當(dāng)合理的對(duì)系統(tǒng)設(shè)備做了程序上的抽象,擴(kuò)展的功能也能輕易的達(dá)到跨平臺(tái)的能力。最后,轉(zhuǎn)移到apache軟件基金會(huì)后,借助于apache軟件基金會(huì)的網(wǎng)絡(luò)平臺(tái),程序員可以方便的和開發(fā)者、其它程序員交流,促成資源的共享,甚至直接獲得已經(jīng)編寫完備的擴(kuò)充功能。最后,雖然Lucene使用Java語言寫成,但是開放源代碼社區(qū)的程序員正在不懈的將之使用各種傳統(tǒng)語言實(shí)現(xiàn)(例如.net framework),在遵守Lucene索引文件格式的基礎(chǔ)上,使得Lucene能夠運(yùn)行在各種各樣的平臺(tái)上,系統(tǒng)管理員可以根據(jù)當(dāng)前的平臺(tái)適合的語言來合理的選擇。
  2 Lucene應(yīng)用
  在號(hào)百座席系統(tǒng)中,由于搜索的信息深度加深,涉及的搜索范圍加大,因此,為了更準(zhǔn)確、全面的查詢信息,我們利用Lucene搜索引擎將基礎(chǔ)信息建立文檔和索引的對(duì)應(yīng)關(guān)系,同時(shí)將深度信息也建立若干文檔和索引的對(duì)應(yīng)關(guān)系,這樣設(shè)計(jì)就能夠?qū)⒖蛻粜畔?、行業(yè)信息、行業(yè)附屬信息聯(lián)合進(jìn)行查詢。
  使用Lucene實(shí)現(xiàn)全文檢索,主要有下面三個(gè)步驟。
 ?。?)建立索引文件。
  根據(jù)號(hào)百信息庫中的已有的數(shù)據(jù)資料建立Lucene索引文件。
 ?。?)在索引文件中搜索。
  當(dāng)用戶輸入關(guān)鍵詞搜索后,分解搜索請(qǐng)求,由搜索系統(tǒng)程序從索引文件中找到符合該關(guān)鍵詞的所有信息。
 ?。?)對(duì)搜索結(jié)果進(jìn)行處理排序。
  搜索過程:用戶呼叫118114,提供需要查詢的內(nèi)容條件,工作人員使用搜索服務(wù),通過用戶提出的查詢條件從索引文件中提取出相對(duì)應(yīng)的索引內(nèi)容,后通過索引內(nèi)容在數(shù)據(jù)庫資料文件中查詢出相對(duì)應(yīng)的詳細(xì)信息,反饋給用戶。
  在號(hào)百座席系統(tǒng)中主要涉及的搜索方式主要有以下幾類:
 ?。?)基本搜索方式。
  基礎(chǔ)搜索方式主要是針對(duì)客戶信息和碼號(hào)信息雙向關(guān)聯(lián)查詢。坐席提供以下基本搜索方式。
  建立客戶名稱、客戶地址、客戶行業(yè)、行業(yè)擴(kuò)展信息、客戶簡拼、客戶號(hào)碼、舊號(hào)碼等信息建立索引,搜索查詢時(shí)使用這些關(guān)鍵字進(jìn)行搜索查詢。
  (2)增強(qiáng)搜索方式。
  號(hào)百系統(tǒng)的數(shù)據(jù)范圍大大提高,那需要查詢的范圍也大大提高,所以,以往那種單靠客戶基礎(chǔ)信息和碼號(hào)信息雙向關(guān)聯(lián)查詢的方式不能滿足用戶的需要,用戶可能就想知道今天有哪些打折菜,有哪些電影上映等信息,這些跟客戶信息和碼號(hào)信息無關(guān),以往建立客戶信息和碼號(hào)信息雙向關(guān)聯(lián)的索引建立方式失去了用戶新的需求,所以在更大范圍、在每個(gè)方面建立索引,就可以在這個(gè)方面進(jìn)行查詢,在方面間的組合、聯(lián)合查詢可以使用一個(gè)方面的主

鲁山县| 新邵县| 昔阳县| 仁寿县| 施甸县| 桃源县| 全南县| 黔西| 苗栗市| 广南县| 芦溪县| 乐东| 安吉县| 滨州市| 镇安县| 房产| 定远县| 蕲春县| 库车县| 承德市| 海林市| 自贡市| 云梦县| 获嘉县| 云霄县| 丹东市| 河间市| 乌兰县| 唐海县| 八宿县| 大关县| 大宁县| 沐川县| 沛县| 凭祥市| 龙海市| 新龙县| 东台市| 峡江县| 郧西县| 皋兰县|