當前位置:學問谷 >

行業範例 >設計 >

淺談校園網多數據源信息檢索系統的設計與實現論文

淺談校園網多數據源信息檢索系統的設計與實現論文

論文關鍵詞:信息集成 異構數據 odi nutch lucene

淺談校園網多數據源信息檢索系統的設計與實現論文

論文摘要:高校校園網信息資源數量巨大,各信息發佈系統的相互獨立及多種異構數據源的使用對在校園網範圍內進行統一的信息檢索設置了障礙,系統着重解決由非結構化文本數據和結構化數據庫數據形成的多數據源的集成與整合問題,在nutch搜索引擎基礎上利用lucene接口對多種源數據建立索引,構建多數據源全文信息檢索平台,從而有效地實現全網信息檢索並提高檢索速度和精度。

一、引 言

隨着校園信息化進程的不斷深入,校園網上信息資源的數量迅速膨脹,各種相互獨立的信息發佈系統在提高效率的同時,也為校園網範圍內統一的信息檢索設置了障礙,校園網信息資源主要包括兩類數據:一類是非結構化文本數據,以網頁文件、文本文件、電子郵件等形式存儲在多個信息系統當中:另一類是結構化數據,以數據記錄的形式存儲在不同的異構數據庫之中。由於各獨立信息系統間沒有相互連接的渠道,快速檢索校園網內部信息存在着較大困難。如何設計一個穩定而高效的架構,能夠對多種信息數據源進行集成與整合,實現全網範圍內全文信息檢索成為校園信息化過程中一個重要研究課題。

校園網信息檢索技術大體可分為三個發展階段:第一階段是基於數據庫查詢方式的結構化數據檢索,應用於信息發佈系統內部的檢索功能,通常是通過匹配標題、作者和摘要等字段來實現信息檢索。由於受到數據庫性能、檢索效率等因素影響,不能實現基於匹配正文內容的全文檢索,因此該階段檢索方式從檢索範圍到檢索性能及效果都並不能完全滿足現階段用户的需要:第二階段是將基於互聯網的搜索引擎技術應用於校園網,構建校園網信息檢索平台。主要採用開源lueene提供的全文檢索功能和基於lucene索引管理、存儲和檢索技術之上的nutch搜索引擎技術。這兩種方式能夠實現對非結構化文本數據和結構化數據庫數據的檢索,應用在網站站內索引、企業內部文檔管理及知識管理系統等多方面,對應用系統內部全文信息檢索取得了較好的效果,但要實現校園網全網範圍內多系統綜合信息檢索還有待進一步完善與改進:當前校園網信息檢索技術已經發展到多系統多數據源信息檢索階段,通過多種方式將各種數據源統一建立索引進行檢索,對於非結構化文本的web頁面信息採用網絡爬蟲方式獲取數據,對於結構化文檔數據源可通過lucene接口和nutch插件機制與第三方類庫相結合來進行文檔分析處理,對於數據庫資源通過lucene數據庫訪問接口來獲取數據記錄並建立索引。目前校園網信息檢索平台大多是以檢索功能為核心通過上述方式與多數據源集成的輻射狀架構,該種架構雖可實現全網多數據源檢索,但檢索平台與各應用系統耦合度高,系統整體穩定性和可擴展性較差,數據安全和數據質量較低。

針對上述問題,本系統將數據採集和數據集成作為平台整體架構的基礎,將oracle數據集成工具odi用於對多數據源結構化數據的抽取、轉換和處理,從而提供一個統一的全局共享數據源,對非結構化文本數據提供對word、pdf、ppt及xml等多種格式化文檔解析的支持、以上述工作為基礎,系統將分散分佈、非結構化、異構的信息資源統一整合,提供給校園網用户統一的全文信息檢索平台。

二、系統體系結構

多數據源校園網信息檢索系統分為數據採集層和信息檢索層兩層體系架構,數據採集層以oracle全局數據庫為核心向下通過odi集成各異構數據庫數據,並通過網絡爬蟲和非結構化文本數據解析來實現多數據源數據採集,向上通過數據庫接口為上層應用提供數據:信息檢索層採用以lueene為基礎的nutch搜索引擎實現信息索引和檢索。系統共包括異構數據庫集成、異構文檔解析、信息分類模塊、信息索引模塊、信息檢索模塊和系統管理模塊六部分,系統體系結構如圖1所示。

校園網信息檢索技術並不是簡單地將開源搜索引擎技術應用於校園網,而是針對校園網內部數據特點設計相應的解決方案。異構數據庫集成模塊從系統底層做好結構化數據庫數據的高效獲取和有效組織。校園網內信息發佈以web網站為主要方式,對其進行信息檢索一是採用網絡爬蟲方式進行數據採集:二是通過lucene數據庫接口與各異構數據庫相連採集數據,第一種方式雖然操作簡單,但在數據採集質量和深度上都有所不足,並沒有充分利用校園網信息數據存儲的特點:第二種方式雖然在數據來源上有所改進,但在系統的穩定性、耦合程度和可擴展性上都存在不足,從各異構數據庫中獲取的數據無法進一步加工處理,從而導致對上層應用的支持有限。校園網內數據雖然表現為web網頁等非結構化文本形式,但其數據來源大都存儲在結構化數據庫中。通過獲取對各業務異構數據庫的查詢管理權限,系統將oracle數據集成工具odi代替網絡爬蟲和數據庫訪問接口,從底層實現對多個異構數據庫的統一管理,使系統具有更加穩定和高效的數據來源。異構文檔解析模塊實現對pdf、office等文檔的解析功能,通過插件機制提取各種格式化文檔的文本信息進行處理。信息分類模塊按照信息來源的部門、發佈時間等提供分類信息檢索,實現信息的高級檢索功能。信息索引模塊對多種數據源數據建立索引,並進行索引優化以減少索引文件的數量,並且能在搜索時減少讀取索引文件的時間。信息檢索模塊為校園網用户提供統一的信息檢索的平台,可以快速定位用户所需資源,及時有效地獲取信息。系統管理模塊針對不同資源,設置不同的訪問權限,按照用户權限決定可以訪問的資源。

三、系統主要功能模塊

le數據集成工具(odi)

odi(oracle data integrator)是oracle公司採用elt理念進行數據抽取、加載、轉換的數據集成中間件工具,其最大特點是提出了知識模塊的概念。odi將一些場景(如文件加載到數據庫,從mysql數據庫抓取數據到oracle數據庫等)的詳細實現步驟使用jvthon腳本語言結合數據庫sql語句錄製成詳細的步驟記錄下來,形成知識模塊,odi中共有超過100種主流數據庫引擎和應用系統的知識模塊,基本上包含了普通應用所涉及的所有場景,因此odi可以實現對校園網內多種異構數據庫的支持。在一個數據集成任務中,odi通過聲明設計運用接口和關係圖等概念聲明數據集成規則,使集成的邏輯和技術層面分離,底層的技術方面由知識模塊描述和定義,系統只需要把重點放在集成任務規則的制定上面,再將制定好的集成規則封裝為一個服務模型。發佈和訂閲該模型便可實現類似於數據增量定時更新的功能,異構數據庫集成模塊示意如圖2所示。

系統以全局數據庫為核心通過odi工具對校園網內異構數據庫數據進行抽取、轉換、清洗和加載,集成後的數據質量得到了提高,對異構數據源的處理也得到了加強。在對數據處理的過程中提取了信息的標題、作者、正文、發佈時間、url地址等字段,可定時對各異構數據庫數據進行增量更新操作,從而替代利用網絡爬蟲獲取信息數據。oracle全局數據庫可以集成校園網內大部分信息發佈系統的數據並提供給信息索引和檢索模塊。

ne與nutch

lucelle不是一個完整的搜索引擎,而是一個用於實現全文檢索的軟件庫,採用java語言開發,提供了檢索內核,其設計原理是索引檢索,任何信息資源只要被轉換成文本格式都可以被檢索。nutch是lucene得到廣泛應用和認可後出現的搜索引擎系統,內部使用了lucene的索引檢索技術,並進一步封裝了網絡爬蟲和分佈式處理等模塊從而成為一個完整的應用系統。本系統以nutch為基礎,既應用了nuteh系統的完整性,減少了不必要的開發,又可靈活使用lucene接口,豐富系統功能。

對於非結構化文本信息,系統對office文檔採用了poi插件方式,用pdfbox插件來實現對pdf文檔的.讀取,並將上述插件集成到nutch當中。信息檢索的基礎是文本分析,而文本分析在很大程度上依賴於分詞模塊對語言的處理。nutch自帶的cjk分詞模塊對中文分詞的效率和準確度上不能滿足實際需要。為此。在對比了je分詞、paoding分詞和ictclas分詞等多款中文分詞模塊後,paoding分詞由於其開源性和良好的分詞效果被本系統採用,並通過nuteh的插件機制集成到系統當中。

3.信息索引與檢索

為滿足用户全網檢索和分類分部門檢索信息的需要,並提高檢索效率,信息索引模塊首先對每個數據源建立索引文件提供給分類檢索用户,然後通過優化索引提供給全網檢索用户。優化索引就是將多個索引文件合併成單個文件的過程,目的是為了減少索引文件的數量,並且能在搜索時減少讀取索引文件的時間。nutch中的indexwrite類提供了optimize方法實現該優化操作。利用nutch中的multisearcher類可實現對優化後索引的全網檢索功能,檢索結果會以一種指定的順序合併起來。

針對校園網用户信息檢索的特點。綜合考慮信息相關度、時效性和訪問量等因素後,系統採用了自定義的排序機制,文檔文本相關度作為信息檢索的主要排序依據,信息發佈時間和訪問次數作為重要的排序因子,系統通過lucene的激勵因子boost值來改變文檔得分,從而調整文檔的出現順序。系統為校園網用户提供了通用檢索和高級檢索功能,通用檢索在用户輸入檢索信息的關鍵字後可檢索出所需信息:高級檢索功能為用户提供了更為詳細的檢索條件,用户可根據需要對信息進行更加精細的檢索。系統管理功能除對用户權限進行管理外還對信息檢索結果進行屏蔽和進一步處理。

四、系統運行環境

考慮到開發調試和維護的方便性,系統在測試運行期間採用了windows平台。上層在開源nutch搜索引擎的基礎上進行開發,採用myeclipse作為開發平台,用java語言實現,因此具有跨平台特性。但由於運行nutch自帶的腳本命令需要linux環境,所以必須首先安裝cygwin來模擬這種環境。為了確保nutch1.0版本能夠正確運行,java虛擬機需採用jdk1.6以上的版本,運用websphere6.0作為檢索平台的容器。系統底層採用oracle 10g作為全局數據庫。數據集成工具odi版本為10.1.3,與數據庫安裝在同一台服務器上。

五、結束語

校園網多數據源信息檢索系統將oracle數據集成工具odi引入到數據採集模塊,實現了對校園網內各信息發佈系統後台異構數據庫的有效整合與集成,改變了以往主要通過網絡爬蟲獲取數據的方式,提高了數據來源的精度與質量,又通過nutch插件機制實現了對非結構化文本的解析。從而為信息索引與檢索打下了良好的基礎。信息檢索模塊基於nutch搜索引擎技術並充分利用lucene接口實現了靈活高效的全網信息檢索系統

該系統為校園網用户提供了方便快捷的信息檢索平台,整合了校園網信息資源,實現了信息共享,對校園信息化建設起了很好的推進作用。

經過對系統測試運行期間性能的測試,信息檢索時間和精度都得到了較大的提升,信息檢索的廣度和深度也有了很大提高,滿足了校園網用户的需要、今後的工作是在信息檢索功能的基礎上進一步研究校園網輿情監測技術,完善系統功能,在提高校園信息化程度的同時為建設積極向上的校園網絡文化起到較好的推動作用。

參考文獻:

[1]王雪松lucene+nutch搜索引擎[m]北京:人民郵電出版社,2008

[2]邱哲,符滔滔,王雪松,開發自己的搜索引擎lucellc+heritrix,北京:人民郵電出版社,2010

[3]oracle,oracle data integrator技術白皮書,北京:oracle公司2008

[4]王洋oracle data integrator使用手冊,北京:神州數碼有限公司,2008

[5]劉期勇,基於lucene的多數據源全文檢索系統的設計與實現,重慶:重慶大學,2008

[6]黃少林,王華,張玉紅,蔣一峯,基於lucene的索引系統的設計與實現,現代情報,2009,29(7):169-171

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flhy/sheji/gn0gd7.html