1. 首頁
  2. 設計

淺談校園網多資料來源資訊檢索系統的設計與實現論文

淺談校園網多資料來源資訊檢索系統的設計與實現論文

論文關鍵詞:資訊整合 異構資料 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等文件的解析功能,透過外掛機制提取各種格式化文件的文字資訊進行處理。資訊分類模組按照資訊來源的部門、釋出時間等提供分類資訊檢索,實現資訊的高階檢索功能。資訊索引模組對多種資料來源資料建立索引,並進行索引最佳化以減少索引檔案的數量,並且能在搜尋時減少讀取索引檔案的時間。資訊檢索模組為校園網使用者提供統一的資訊檢索的平臺,可以快速定位使用者所需資源,及時有效地獲取資訊。系統管理模組針對不同資源,設定不同的訪問許可權,按照使用者許可權決定可以訪問的資源。

三、系統主要功能模組

1.oracle資料整合工具(odi)

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

系統以全域性資料庫為核心透過odi工具對校園網內異構資料庫資料進行抽取、轉換、清洗和載入,整合後的資料質量得到了提高,對異構資料來源的處理也得到了加強。在對資料處理的過程中提取了資訊的標題、作者、正文、釋出時間、url地址等欄位,可定時對各異構資料庫資料進行增量更新操作,從而替代利用網路爬蟲獲取資訊資料。oracle全域性資料庫可以整合校園網內大部分資訊釋出系統的資料並提供給資訊索引和檢索模組。

2.lucene與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