一種校內網資源搜索引擎的設計與實現
隨著高校校園網的快速發展,網絡作為信息的傳播平臺正在高速向前邁進。學校校園網中各種資訊、軟件、多媒體資源越來越豐富并且呈現出爆發式的增長。以本校為例,目前軟件資源容量為300 G、音樂資源容量為4 T、電影資源容量為9 T、學習資源容量近達1 T等,這些信息資源幫助人們更好地完成工作與學習、豐富業余生活、提供更加快速方便的下載方式。但是這是數字資源分布在不同服務器與存儲中,如何更加有效地利用這些海量的校內網資源成為信息管理者深思的問題。人們在互聯網上查找信息都會用到搜索引擎來搜索需要的信息,通過搜索引擎的模糊匹配機制,能很容易找到想要得到的信息。對于學校信息中心信息管理人員來說,如果能在校內網中引入一套搜索引擎機制來解決這個問題,就能使廣大師生能快捷便利地使用這些信息而且減少重復從外網下載、降低校內網出口帶寬的壓力、充分提高校園網內部資源的利用率的問題。
1 需求分析
搜索引擎原理,通常指的是收集了因特網上幾千萬到幾十億個網頁并對網頁中的每一個詞(即關鍵詞)進行索引,建立索引數據庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的算法進行排序后,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。
本系統主要目標是仿照搜索引擎的原理實現對校內網信息資源的全面搜索。這些資源可能是不同類型,可能分別存在不同服務器中且服務器的類型也不近相同,如有FTP服務器、HTTP服務器等。對于這些不同的環境要求,要求本系統要完成以下需求:
(1)索引建立要滿足不同的服務器類型,如http、ftp等。
(2)索引建立時要區分文件的類型。
(3)定時(手工)刪除本機器的索引,并重新建立指定目錄的文件索引。
(4)搜索能支持模糊查詢。
(5)提供用戶搜索、下載功能,記錄關鍵字頻率及文件訪問次數。
對于以上需求,本系統采用多agent模式,對不同服務器,分別安裝索引建立模式(agent),再通過對參數的配置實現對不同服務器中資源的索引建立。
2 系統分析
2.1 系統結構
本搜索引擎結構如圖1所示,軟件的設計與開發主要為兩個部分:(1)索引的建立。主要負責在后臺數據的建立,采用客戶端與服務器結構(C/S結構);(2)Web的查詢。主要負責向用戶提供友好界面的查詢服務,采用瀏覽器與服務器結構(B/S結構)。通過開發索引建立程序,將文件存放的服務器(FTP、HTTP等)進行搜索,分析文件的名稱、大小、類別、位置等并將這些文件信息合并服務器IP、訪問的前綴等建立對應的索引添加到數據庫服務器中。
2.2 數據庫設計
為了方便數據庫中文件信息的處理,數據庫設計了兩個基本數據表,一個存放索引建立模塊,將文件的索引放入表1中;另一個表主要存放用戶搜索的相關信息,如表2所示。如果搜索數據非常龐大時,要對基本數據表按不同的規則進行分割,成立多個子表(可以按照服務器類型、文件類型或者服務器所屬網絡等分類),實現對資源的高效率搜索。
評論