【畢業(yè)學(xué)位論文】(Word原稿)基于Lucene.NET的web垂直搜索引擎系統(tǒng)的研究與設(shè)計(jì)-軟件工程_第1頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于Lucene.NET的web垂直搜索引擎系統(tǒng)的研究與設(shè)計(jì)-軟件工程_第2頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于Lucene.NET的web垂直搜索引擎系統(tǒng)的研究與設(shè)計(jì)-軟件工程_第3頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于Lucene.NET的web垂直搜索引擎系統(tǒng)的研究與設(shè)計(jì)-軟件工程_第4頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)基于Lucene.NET的web垂直搜索引擎系統(tǒng)的研究與設(shè)計(jì)-軟件工程_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

中圖分類(lèi)號(hào): 學(xué)校代碼: 10055 密級(jí): 碩 士 專(zhuān) 業(yè) 學(xué) 位 論 文 基于 f f n 文作者 王中興 指導(dǎo)教師 韓智 (副 )教授 申請(qǐng)學(xué)位 工程碩士 培養(yǎng)單位 軟件學(xué)院 學(xué)科專(zhuān)業(yè) 軟件工程 研究方向 項(xiàng)目管理 答辯委員會(huì)主席 評(píng) 閱 人 南開(kāi)大學(xué)研究生院 二一 三 年 五 月 摘要 I 摘要 搜索引擎是人們?cè)诤棋?互聯(lián)網(wǎng) 信息海洋中獲取知識(shí)與信息的主要方式,然而如何從海量信息中精簡(jiǎn)地提取出我們想要的信息已經(jīng)成為搜索引擎面臨的主要問(wèn)題之一。 本文通過(guò)對(duì)搜索引擎原理 及 其關(guān)鍵技術(shù)和 研究,設(shè)計(jì) 實(shí)現(xiàn) 了基于 直搜索引擎系統(tǒng) 。本系統(tǒng)的設(shè)計(jì)目的 旨在減少搜集結(jié)果的冗余度、用較精簡(jiǎn)的搜索結(jié)果滿(mǎn)足用戶(hù)的搜索請(qǐng)求, 以期達(dá)到節(jié)約用戶(hù)瀏覽時(shí)間的目的。 本文首先 研究了搜索引擎的相關(guān)理論、 相關(guān) 技術(shù)和 詳細(xì)分析了 基于 直搜索引擎系統(tǒng) 的總體架構(gòu)和主要功能模塊的工作原理。 然后對(duì) 基于 直搜索引擎系統(tǒng) 的關(guān)鍵問(wèn)題 進(jìn)行深入研究, 使用 C#開(kāi)發(fā)網(wǎng)絡(luò)爬蟲(chóng) 和 實(shí)現(xiàn)中文分詞、應(yīng)用 建和維護(hù)索引庫(kù)、并 采用一種新的文本分類(lèi)技術(shù)對(duì)檢索結(jié)果進(jìn)行分類(lèi),從而 使 用戶(hù)能 夠更高效的搜索到更有價(jià)值的信息。 最后對(duì)系統(tǒng)的 各個(gè)功能模塊以及數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的設(shè)計(jì) 和 編碼實(shí)現(xiàn), 并 對(duì)系統(tǒng)進(jìn)行了性能測(cè)試和查準(zhǔn)率測(cè)試,測(cè)試結(jié)果表明系統(tǒng)設(shè)計(jì)符合要求。 本文 設(shè)計(jì) 實(shí)現(xiàn)的 基于 直搜索引擎系統(tǒng) 是 在 境下進(jìn)行搜索引擎系統(tǒng)開(kāi)發(fā)的一次新的嘗試,對(duì)基于 搜索引擎系統(tǒng) 的 研究具有重要的意義。 關(guān)鍵字 : 垂直 搜索引擎 I is to on as as to of by In i a f n of to of a to s in to of i f n of eb #, a to i of i f n is a ET its of f f n 錄 錄 第 1 章 緒論 . 1 第一節(jié) 研究背景 . 1 第二節(jié) 研究意義 . 2 第三節(jié) 研究?jī)?nèi)容及章節(jié)安排 . 2 第 2 章 相關(guān)理論及技術(shù) . 4 第一節(jié) 搜索引擎相關(guān)理論 . 4 種搜索引擎 . 4 直搜索引擎結(jié)構(gòu) . 6 第二節(jié) 網(wǎng)絡(luò)爬蟲(chóng) . 8 取原理 . 8 蟲(chóng)架構(gòu) . 9 第三節(jié) 理 . 11 引文檔 . 12 入文檔 . 13 第 3 章 系統(tǒng)總體設(shè)計(jì) . 16 第一節(jié) 需求分析 . 16 第二節(jié) 系統(tǒng)設(shè)計(jì)目標(biāo)及原則 . 16 第三節(jié) 系統(tǒng)整體結(jié)構(gòu)和部署關(guān)系 . 17 統(tǒng)整體結(jié)構(gòu) . 17 統(tǒng)部署關(guān)系 . 18 第四節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì) . 19 第五節(jié) 中文分詞設(shè)計(jì) . 20 引原理 . 21 引壓縮算法 . 22 第 4 章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) . 24 第一節(jié) 信息抓取模塊 . 24 目錄 網(wǎng)絡(luò)爬蟲(chóng)程序 . 24 絡(luò)爬蟲(chóng)遍歷 . 27 息保存 . 29 第二節(jié) 索引模塊 . 31 建索引庫(kù) . 31 找索引庫(kù) . 35 第三節(jié) C#實(shí)現(xiàn)中文分詞 . 37 本切分 . 37 文分詞 . 39 第四節(jié) 分類(lèi) 統(tǒng)計(jì)功能 . 42 索接口 . 42 類(lèi)統(tǒng)計(jì) . 44 第五節(jié) 系統(tǒng)實(shí)現(xiàn) . 48 統(tǒng)運(yùn)行環(huán)境 . 48 統(tǒng)前臺(tái)實(shí)現(xiàn) . 48 統(tǒng)后臺(tái)實(shí)現(xiàn) . 50 第 5 章 系統(tǒng)測(cè)試 . 52 第一節(jié) 網(wǎng)絡(luò)爬蟲(chóng)測(cè)試 . 52 第二節(jié) 性能測(cè)試 . 53 第三節(jié) 查準(zhǔn)率測(cè)試 . 54 第 6 章 總結(jié)與展望 . 56 第一節(jié) 總結(jié) . 56 第二節(jié) 展望 . 57 參考文獻(xiàn) . 58 第 1 章 緒論 1 第 1 章 緒論 第一節(jié) 研究背景 隨著網(wǎng)絡(luò)時(shí)代的飛速發(fā)展,網(wǎng)民上網(wǎng)獲取信息的需求也從被動(dòng)式的、單一的信息瀏覽轉(zhuǎn)向了多樣的、主動(dòng)式的信息搜索。在經(jīng)濟(jì)、信息全球化的環(huán)境中,互聯(lián)網(wǎng)已經(jīng)成為人們生活中的 重要 部分 和獲取信息的重要途徑,因此人們 對(duì) 搜索引擎的 要 求日益增 加 。 最早的搜索引擎 出現(xiàn)在上世紀(jì) 90年代 ,當(dāng)時(shí)還沒(méi)有出現(xiàn) 萬(wàn)維網(wǎng) ,大量的文件 還是 存儲(chǔ)保存 在 各個(gè) 分散的服務(wù)器上, 信息檢索起來(lái) 很不方便。 1994 年斯坦福大學(xué)的楊致遠(yuǎn)創(chuàng)立了 雅虎 , 這是 一種基于目錄結(jié)構(gòu)的搜索引擎系統(tǒng), 當(dāng)時(shí)雅虎搜索引擎能夠提供給用戶(hù)一個(gè)可搜索的目錄,雖然搜索準(zhǔn)確度很高 ,但是 搜索引擎系統(tǒng) 收錄的資源非常有限。 隨著 術(shù)的發(fā)展,以 谷歌 為代表的全文搜索引擎系統(tǒng)開(kāi)始占據(jù)了互聯(lián)網(wǎng)的 主要市場(chǎng)。 谷歌通過(guò) 法, 得以實(shí)現(xiàn)網(wǎng)頁(yè)排名 , 這種網(wǎng)頁(yè)排名方式更 加 符合人們的 期盼 的搜索 結(jié)果。 1999 年 百度推出了 超 級(jí) 鏈 接 分析技術(shù) ,并成為 新一代的中文搜索引擎。 現(xiàn)如今,搜索引擎已 經(jīng)成為人們?cè)诨ヂ?lián)網(wǎng)應(yīng)用中必不可少的工具, 許多優(yōu)秀的 搜索引擎為人們快速獲取信息提供了大量的幫助。但是,由于網(wǎng)絡(luò)的信息量巨大,即便是像 樣的搜索引擎也不會(huì)一次搜集全所有的信息內(nèi)容。因此,通用搜索引擎通常只會(huì)索引一定層次的 信息內(nèi)容。 對(duì)于通用搜索引擎來(lái)說(shuō),它將所有的網(wǎng)絡(luò)信息整理在一起供互聯(lián)網(wǎng)用戶(hù)使用,雖然解決了搜索查找信息資源的問(wèn)題,但通用搜索引擎還是存在一些不完善的地方。通用搜索引擎是通過(guò)關(guān)鍵詞進(jìn)行索引和服務(wù)的,用戶(hù)根據(jù)關(guān)鍵詞在現(xiàn)有 的信息 庫(kù) 中 搜尋 查找,搜索引擎本身是 沒(méi)有能力 理解 和判斷 用戶(hù)搜索的 目的和 意圖的, 這就使得 , 只要不同的用戶(hù) 輸入的關(guān)鍵詞一樣,就會(huì) 檢索到 相同的返回結(jié)果,這樣的 搜索 結(jié)果是 不能 滿(mǎn)足 不同用戶(hù)的搜索需求的 。 垂直搜索引擎是近些年來(lái)針對(duì)于通用搜索引擎存在的一些問(wèn)題提出來(lái)的一種搜索引擎服務(wù)模式。垂直搜索引擎通過(guò)專(zhuān)注于某一行業(yè)或領(lǐng)域,為各種需求第 1 章 緒論 2 的用戶(hù)提供適當(dāng)?shù)乃阉鹘Y(jié)果。 它提供給用戶(hù)的并不是海量的相關(guān)網(wǎng)頁(yè)信息,而是極具針對(duì)性的、范圍極具縮小的具體信息內(nèi)容。 第二節(jié) 研究意義 互聯(lián)網(wǎng)技術(shù)水平的不斷提高和快速發(fā)展,使得我們可以獲取巨大的信息量。然而,互聯(lián)網(wǎng)信息量的急速增長(zhǎng),反倒促使信息的利用率程下 降趨勢(shì),我們稱(chēng)之這種現(xiàn)象為“信息過(guò)載”。這種現(xiàn)象的出現(xiàn),使得網(wǎng)民很難通過(guò)輸入網(wǎng)址或?qū)Ш骄W(wǎng)站的方式有效、準(zhǔn)確地找到所需要的信息。因此,對(duì)搜索引擎的研究也就更加重視,近些年搜索引擎的各種相關(guān)技術(shù)都有了較大的進(jìn)步,并且相繼出現(xiàn)了像 優(yōu)秀的搜索引擎,搜索引擎已經(jīng)成為通過(guò)互聯(lián)網(wǎng)查找所需信息的必不可少的檢索工具。但隨著信息的指數(shù)式增長(zhǎng),如何解決搜索的精度已經(jīng)成為搜索引擎面臨的主要問(wèn)題。 垂直搜索引擎是針對(duì)某一個(gè)特定需求提供的專(zhuān)業(yè)搜索引擎,是搜索引擎的延伸和細(xì)分,是對(duì)互聯(lián)網(wǎng)中某類(lèi)信息進(jìn)行的一次整合 ,它通過(guò)定向分字段抽取出所需要的數(shù)據(jù),然后進(jìn)行處理后再以某種形式返回給用戶(hù)。垂直搜索引擎是針對(duì)通用搜索引擎查詢(xún)返回結(jié)果的信息量大、精確度不高等提出來(lái)的新的搜索引擎服務(wù)模式,其特點(diǎn)就是“專(zhuān)、精、深”,和通用搜索引擎的無(wú)序化海量信息相比,垂直搜索引擎則更加專(zhuān)注、深入和具體。 垂直搜索引擎搜集的信息內(nèi)容是與特定主題相關(guān)的,冗余度低、信息量較少,并且搜集的信息能夠及時(shí)更新,從而保證搜索結(jié)果更加準(zhǔn)確、深入和具體。鑒于以上優(yōu)勢(shì),垂直搜索引擎成為現(xiàn)階段搜索引擎發(fā)展趨勢(shì)之一,并成為搜索引擎領(lǐng)域研究和應(yīng)用的熱門(mén)課題。 第三 節(jié) 研究?jī)?nèi)容 及章節(jié)安排 本 文 主要對(duì)搜索引擎系統(tǒng)進(jìn)行 研究 ,并設(shè)計(jì)實(shí)現(xiàn) 基于 直搜索引擎系統(tǒng) ,論文研究 內(nèi)容主要包括 以下幾個(gè)方面: 首先對(duì)搜索引擎相關(guān)理論及技術(shù)進(jìn)行深入研究,包括各種搜索引擎的優(yōu)缺點(diǎn)、網(wǎng)絡(luò)爬蟲(chóng)的抓取信息原理和 理。 然 后對(duì) 基于 直搜索引擎系統(tǒng) 提出系統(tǒng)設(shè)計(jì)目標(biāo),并對(duì)第 1 章 緒論 3 系統(tǒng)進(jìn)行總體設(shè)計(jì)分析,其中包括系統(tǒng)整體體系結(jié)構(gòu)設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)并編碼實(shí)現(xiàn)。 最后是系統(tǒng)的實(shí)現(xiàn),并對(duì)本文所設(shè)計(jì)的 基于 直搜索引擎系 統(tǒng) 進(jìn)行性能和 查準(zhǔn)率的測(cè)試。 論文的章節(jié)安排如下: 第一章 介紹論文的研究背景及意義,以及論文的研究?jī)?nèi)容及章節(jié)安排。 第二章 闡述了搜索引擎相關(guān)理論及技術(shù),介紹了各種搜索引擎、網(wǎng)絡(luò)爬蟲(chóng)和 第三章 系統(tǒng)總體設(shè)計(jì),闡述了系統(tǒng)設(shè)計(jì)目標(biāo)及原則、系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)庫(kù)設(shè)計(jì)。 第四章 系統(tǒng)各個(gè)功能模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),其中包括信息抓取模塊、索引模塊、中文分詞和分類(lèi)統(tǒng)計(jì)模塊。 第五章 設(shè)計(jì)實(shí)現(xiàn) 基于 直搜索引擎系統(tǒng) ,并對(duì)該系統(tǒng)進(jìn)行性能和查準(zhǔn)率測(cè)試 第六章 對(duì)整個(gè)論文的工作進(jìn)行總 結(jié),并對(duì)后續(xù)研究工作提出展望。 第 2 章 相關(guān)理論及技術(shù) 4 第 2 章 相關(guān)理論及技術(shù) 第 一 節(jié) 搜索引擎相關(guān)理論 種搜索引擎 搜索引擎起源于國(guó)外,近十幾年來(lái)迅速發(fā)展,除了 成為著名的、綜合的搜索引擎外, 各類(lèi)搜索引擎都有各自的特色,使得它們?cè)谒阉饕骖I(lǐng)域占有自己的一片天地。國(guó)外的搜索引擎技術(shù)有許多值得我們學(xué)習(xí)和借鑒的地方,尤其是隨著元搜索引擎、站內(nèi)搜索引擎和垂直搜索引擎的崛起,運(yùn)行在大規(guī)模云計(jì)算的通用搜索引擎受到極 大的挑戰(zhàn)。下面就搜索引擎應(yīng)用現(xiàn)狀展開(kāi)分析: 元搜索引擎 所謂元搜索引擎( 是指用戶(hù)只需要提交一次檢索請(qǐng)求,就會(huì)由元搜索引擎負(fù)責(zé)轉(zhuǎn)換處理后提交給多個(gè)預(yù)先選定的獨(dú)立搜索引擎,然后將各個(gè)獨(dú)立搜索引擎的查詢(xún)結(jié)果集中起來(lái)以整體的形式呈現(xiàn)給用戶(hù)。元搜索引擎采用一系列優(yōu)化運(yùn)行機(jī)制,能夠在較短的時(shí)間內(nèi)提供相對(duì)準(zhǔn)確、全面的信息,而且即使搜索結(jié)果不能完全滿(mǎn)足用戶(hù)需求,仍然可以作為相對(duì)可靠的參考源進(jìn)行擴(kuò)展搜索,因此,元搜索引擎成為備受推崇的檢索首選入口。 元搜索引擎的技術(shù)重心在于查詢(xún)前的處理 (檢索請(qǐng)求提交機(jī)制和檢索接口代理)和查詢(xún)結(jié)果的集成。其特點(diǎn)是信息覆蓋面廣、搜索結(jié)果的可靠性和權(quán)威性高、可維護(hù)性強(qiáng)、檢索效率高,其基本結(jié)構(gòu)由檢索請(qǐng)求提交機(jī)制、檢索接口代理機(jī)制和檢索結(jié)果顯示機(jī)制組成,如圖 2 第 2 章 相關(guān)理論及技術(shù) 5 用戶(hù)端瀏覽器用 戶(hù) 請(qǐng) 求 提 交 機(jī) 制查 詢(xún) 結(jié) 果 顯 示 機(jī) 制互聯(lián)網(wǎng)信息資源搜 索 引 擎 2搜 索 引 擎 1搜 索 引 擎 3搜 索 引 擎 4搜 索 引 擎 請(qǐng) 求 標(biāo) 準(zhǔn) 請(qǐng) 求響 應(yīng) 結(jié) 果結(jié) 果 頁(yè) 面圖 2搜索引擎的基本結(jié)構(gòu)圖 “檢索請(qǐng)求提交機(jī)制”主要負(fù)責(zé)實(shí)現(xiàn)調(diào)用哪些搜索引擎、檢索時(shí)間限制和結(jié)果數(shù)量限制等用戶(hù)“個(gè)性化”的檢索設(shè)置要求?!皺z索接口代理機(jī)制”將用戶(hù)的檢索請(qǐng)求“翻譯”成不同搜索引擎“本地化”要求所需的不同格式?!皺z索結(jié)果顯示機(jī)制”主要是對(duì)所有源搜索引擎搜索結(jié)果進(jìn)行處理,包括去除重復(fù)結(jié)果、合并相似結(jié)果和輸出處理等。 由于元搜索引擎的運(yùn)作和使用是建立在各種獨(dú)立的搜索引擎的基礎(chǔ)上的,因此,它和其他獨(dú)立的搜索引擎相比,元搜索引擎對(duì)網(wǎng)絡(luò)信息資源的發(fā)現(xiàn)和信息檢索具有多方面的優(yōu)勢(shì)。 垂直搜索引擎 垂直搜索,是針對(duì)某一特定領(lǐng)域、某一特定需求和某一特定人群提供的有一定價(jià)值的信息和相關(guān)服務(wù)。其特點(diǎn)是專(zhuān)、精、深、且具有一定的行業(yè)色彩。垂直搜索引擎專(zhuān)注具體、深入的縱向服務(wù),致力于特定領(lǐng)域內(nèi)信息的全面和內(nèi)容的深入,它主要依靠網(wǎng)頁(yè)爬蟲(chóng)技術(shù),抓取某 一特定領(lǐng)域中的所有相關(guān)信息,并對(duì)相關(guān)信息進(jìn)行分類(lèi)。之后,系統(tǒng)就可以分門(mén)別類(lèi)地將內(nèi)容集成到對(duì)象信息倉(cāng)庫(kù)中。在進(jìn)行了抓取、分類(lèi)、抽取之后,垂直搜索引擎就可以利用這些結(jié)構(gòu)化的對(duì)象信息,來(lái)應(yīng)答用戶(hù)的請(qǐng)求,并進(jìn)行各種智能分析和挖掘工作。 垂直搜索引擎大體有以下四種關(guān)鍵技術(shù),即聚焦、實(shí)時(shí)和可管理的網(wǎng)頁(yè)采集技術(shù),從非結(jié)構(gòu)化內(nèi)容到結(jié)構(gòu)化數(shù)據(jù)的網(wǎng)頁(yè)解析技術(shù),精、準(zhǔn)、全的全文索第 2 章 相關(guān)理論及技術(shù) 6 引和聯(lián)合檢索技術(shù),高度智能化的文本挖掘技術(shù)。 垂直搜索引擎的特點(diǎn)是對(duì)篩選結(jié)果先預(yù)處理,然后再甄別。這就大大提高搜索引擎的搜索效率和搜索結(jié)果的精確度,使 得搜索技術(shù)向著搜索數(shù)據(jù)專(zhuān)業(yè)化與縱深化的方向發(fā)展,從而有效避免了大量與主題無(wú)關(guān)的冗余信息的干擾。另外垂直搜索引擎在信息搜索與信息反饋的關(guān)聯(lián)方面也了一定的改定改善。 站內(nèi)搜索引擎 站內(nèi)搜索就是在一個(gè)網(wǎng)站內(nèi)進(jìn)行信息搜索,主要針對(duì)整站信息量檢索自己所需內(nèi)容,因此得到的檢索內(nèi)容全部出自該網(wǎng)站的數(shù)據(jù)庫(kù),但也不排除某些網(wǎng)站鏈接了其他搜索,以便擴(kuò)充自己的信息量。站內(nèi)搜索的特點(diǎn)是目的性強(qiáng),這類(lèi)搜索引擎給予你的是有選擇、有方向的提供你搜尋的目標(biāo)內(nèi)容,而不是漫無(wú)目的的自我尋找。站內(nèi)搜索引擎具有自動(dòng)歸類(lèi)匹配功能,它將信息自動(dòng)歸類(lèi) ,分成一組一組的,并且會(huì)有相應(yīng)的內(nèi)容進(jìn)行匹配,從而方便了用戶(hù)的查找。 目前站內(nèi)搜索有基于數(shù)據(jù)庫(kù)的站內(nèi)搜索、基于爬蟲(chóng)抓取的站內(nèi)搜索和站內(nèi)搜索軟件系統(tǒng)三種流行的實(shí)現(xiàn)方式。 直 搜索引擎結(jié)構(gòu) 搜索引擎的結(jié)構(gòu)用于提供搜索引擎系統(tǒng)中重要組件與組件之間的關(guān)系描述。體系架構(gòu)的設(shè)計(jì)能夠保證系統(tǒng)的設(shè)計(jì)需求和明確系統(tǒng)的設(shè)計(jì)目標(biāo),因此,體系架構(gòu)是實(shí)現(xiàn)搜索引擎系統(tǒng)設(shè)計(jì)的前提與基礎(chǔ)。 垂直搜索引擎通常由三大部分組成:抓取、索引和搜索。 系統(tǒng)架構(gòu)如圖 2 第 2 章 相關(guān)理論及技術(shù) 7 用 戶(hù)獲 取 文 檔 文 本 提 取索 引 程 序檢 索 器互 聯(lián) 網(wǎng)索 引 庫(kù)文 檔 數(shù) 據(jù) 庫(kù)圖 2直搜索引擎系統(tǒng)架構(gòu)圖 各部分的基本功能如下: 信息抓取 :主要負(fù)責(zé)從網(wǎng)頁(yè)獲取文檔和文本提取的工作。 信息抓取 的工作原理可以抽象為一個(gè)有向圖的遍歷過(guò)程。它能根據(jù)一些指定的算法,獲取新的網(wǎng)頁(yè)內(nèi)容和超級(jí)鏈鏈,從而實(shí)現(xiàn)源源不斷獲取網(wǎng)頁(yè)信息的功能。 文檔 數(shù)據(jù)庫(kù): 文檔 數(shù)據(jù)庫(kù)負(fù)責(zé)存儲(chǔ)從網(wǎng)絡(luò)獲取的網(wǎng)頁(yè)信息和超鏈接結(jié)構(gòu)信息,以便分析器對(duì)這些信息數(shù)據(jù)進(jìn)行分析。 分析器:依據(jù)搜集端數(shù)據(jù)庫(kù)搜集的數(shù)據(jù)的特點(diǎn),按照特定的算法,對(duì)所搜集的信息進(jìn)行分析,從中提取和用戶(hù)檢索內(nèi)容相關(guān)的信息,并將其交于索引器建立索引。 索引 程序 :負(fù)責(zé)對(duì)已 經(jīng)分析好的網(wǎng)頁(yè)信息內(nèi)容建立索引。它的核心工作就是重新整理網(wǎng)頁(yè)內(nèi)容的描述信息,為用戶(hù)的檢索要求做充分的準(zhǔn)備。 檢索器:主要負(fù)責(zé)響應(yīng)用戶(hù)的檢索請(qǐng)求并追蹤用戶(hù)的檢索行為。當(dāng)用戶(hù)提交檢索請(qǐng)求后,檢索器從檢索數(shù)據(jù)庫(kù)中提取相關(guān)的網(wǎng)頁(yè)信息,并依據(jù)特定的算法將這些數(shù)據(jù)進(jìn)行排序,然后顯示給用戶(hù)。 第 2 章 相關(guān)理論及技術(shù) 8 第二節(jié) 網(wǎng)絡(luò)爬蟲(chóng) 所謂網(wǎng)絡(luò)爬蟲(chóng)就是能夠從互聯(lián)網(wǎng)上抓取 信息的一系列程序,它能夠 從互聯(lián)網(wǎng)上源源不斷地抓取海量信息,搜索引擎結(jié)果中的信息 皆 來(lái)源于此,如果把互聯(lián)網(wǎng)比喻成一個(gè)覆蓋 全 球的蜘蛛網(wǎng),那么網(wǎng)絡(luò)爬蟲(chóng)程序就是網(wǎng)上爬來(lái)爬去的蜘蛛 。 取原理 網(wǎng)絡(luò)爬蟲(chóng)需要實(shí)現(xiàn)的基本功能包括下載網(wǎng)頁(yè)以及對(duì) 址的遍歷。為了快速高效地遍歷網(wǎng)站內(nèi)容,還需要應(yīng)用專(zhuān)門(mén)的數(shù)據(jù)結(jié)構(gòu)來(lái)優(yōu)化網(wǎng)絡(luò)爬蟲(chóng)程序。鑒于 運(yùn)行爬蟲(chóng)程序需要消耗大量的帶寬資源,因此設(shè)計(jì)爬蟲(chóng)程序時(shí)必須考慮如何節(jié)省網(wǎng)絡(luò)帶寬等問(wèn)題。 由于所有的網(wǎng)頁(yè)都能鏈接到其他的網(wǎng)站上,我們可以從一個(gè)網(wǎng)站開(kāi)始,跟蹤所有網(wǎng)頁(yè)上的鏈接,這樣就能遍歷整個(gè)互聯(lián)網(wǎng),為了更快更好地抓取所需的信息,網(wǎng)頁(yè)抓取首先從一個(gè)已知的 抓取下來(lái)的網(wǎng)頁(yè)中包含了我們所需的信息,一般存儲(chǔ)在數(shù)據(jù)庫(kù)或是索引庫(kù)等專(zhuān)門(mén)的存儲(chǔ)系統(tǒng) 中,如圖 2 互 聯(lián) 網(wǎng)請(qǐng) 求 網(wǎng) 頁(yè)解 析 網(wǎng) 頁(yè)存 儲(chǔ) 系 統(tǒng)新解析出的內(nèi)容初始蟲(chóng)基本結(jié)構(gòu)圖 在搜索引擎中,網(wǎng)絡(luò)爬蟲(chóng)程序從一系列種子鏈接中把這些初始網(wǎng)頁(yè)中的 章 相關(guān)理論及技術(shù) 9 提取出來(lái),放入 作隊(duì)列,然后遍歷所有工作隊(duì)列中的 后下載新的網(wǎng)頁(yè)并把其中新發(fā)現(xiàn)的 次放入 作隊(duì)列中。爬蟲(chóng)程序抓取的基本過(guò)程如圖 2 v i s i t e d 集 合T o d o 隊(duì) 列初 始 U R L 地 址 解 析 U R 析 出 的 U R 蟲(chóng)程序抓取的基本流程圖 蟲(chóng)架構(gòu) 基本架構(gòu) 如果說(shuō)互聯(lián)網(wǎng)是大海,有用的信息是魚(yú),那 么采集信息的網(wǎng)絡(luò)爬蟲(chóng)程序就是漁夫。 網(wǎng)絡(luò)爬蟲(chóng)通常包含以下 七 個(gè)模塊。 保存種子 待抓取 數(shù)據(jù)結(jié)構(gòu) 模塊 。爬蟲(chóng)程序通常把一些活躍的網(wǎng)頁(yè)作為種子 如某網(wǎng)站的首頁(yè)面,因?yàn)檫@些網(wǎng)頁(yè)經(jīng)常會(huì)發(fā)現(xiàn)一些新的超級(jí)鏈接。通常情況下,網(wǎng)絡(luò)爬蟲(chóng)程序都是將一系列的種子 做起始爬取對(duì)象, 這些 子一般從數(shù)據(jù)庫(kù)表或者配置文件中讀取。保存待抓取的 個(gè)較小的爬蟲(chóng)程序可能會(huì)使用內(nèi)存中的一個(gè)隊(duì)列,甚至是優(yōu)先級(jí)隊(duì)列來(lái)存儲(chǔ)。 保存已經(jīng)抓取過(guò)的 數(shù)據(jù)結(jié)構(gòu), 防止重新抓取模塊。待抓取的 頁(yè)面獲取模塊。 當(dāng)爬蟲(chóng)程序從種子 列或從抓取出來(lái)的 列中獲得 要根據(jù)這個(gè) 取方法即普通的 I/這個(gè)模塊中,僅僅是把 指的內(nèi)容按照二進(jìn)制的格式讀出來(lái),而不對(duì)內(nèi)容做任何處理。 第 2 章 相關(guān)理論及技術(shù) 10 提取已經(jīng)獲取的頁(yè)面內(nèi)容中的有效信息模塊。通常網(wǎng)頁(yè)中除了包含文本內(nèi)容外,還有超級(jí)鏈接、圖片等。對(duì)于文本內(nèi)容,首先把 件 。至于超鏈接的提取,可以根據(jù) 法,使用 正規(guī)表達(dá)式提取,也可使用專(zhuān)門(mén)的 負(fù)責(zé)連接前處理模塊,負(fù)責(zé)連接后處理模塊,過(guò)濾器模塊。如果只是抓取某個(gè)網(wǎng)站的頁(yè)面,則可以對(duì) 多線程模塊。爬蟲(chóng)程序主要消耗網(wǎng)絡(luò)帶寬、中央處理器和磁盤(pán)三種資源。三者之間任何一種都有可能成為制約網(wǎng)絡(luò)爬蟲(chóng)的瓶頸,為了增強(qiáng)爬蟲(chóng)程序的效率,最直接的方法就是使用多線程方式進(jìn)行處理。在爬蟲(chóng)系統(tǒng)中,將要處理的個(gè)線程順序地從隊(duì)列中取得 常,可以利用線程池來(lái)管理線程。 分布式爬蟲(chóng)架構(gòu) 分布式爬蟲(chóng)就是把抓取任務(wù)分 布到不同的節(jié)點(diǎn),其主要目的就是為了增強(qiáng)爬蟲(chóng)程序的 可擴(kuò)展性 。也可以使用物理分布的爬蟲(chóng)系統(tǒng),讓每個(gè)爬蟲(chóng)節(jié)點(diǎn)抓取靠近它的網(wǎng)站。 圖 2 w e 網(wǎng) 頁(yè)D N 頁(yè) 面內(nèi) 容 是 否重 復(fù) ?文 檔U R L 過(guò) 濾 按 域 名 分 割 U R L 去 重U R L F r o n t i e 于 其 他 節(jié) 點(diǎn)發(fā) 送 到 其 他 節(jié) 點(diǎn)圖 2布式爬蟲(chóng)結(jié)構(gòu)圖 分布式爬蟲(chóng)的特點(diǎn)在于按域名分配搜索采集任務(wù),分布式系統(tǒng)中的每臺(tái)機(jī)第 2 章 相關(guān)理論及技術(shù) 11 器都有各自的所轄任務(wù),如果收到不屬于自己所轄的采集任務(wù)后會(huì)轉(zhuǎn)交給其他的機(jī)器。 垂直爬蟲(chóng)架構(gòu) 垂直爬蟲(chóng)往往抓取指定網(wǎng)站的新聞或論壇信息??梢灾付ǔ跏甲ト〉氖醉?yè)或者列表頁(yè),然后提取相關(guān)的詳細(xì)頁(yè) 中的有效信息存入數(shù)據(jù)庫(kù),垂直爬蟲(chóng)設(shè)計(jì)到的功能有首頁(yè)提取、網(wǎng)頁(yè)分類(lèi)、列表頁(yè)鏈接提取和詳細(xì)頁(yè)面內(nèi)容提取??傮w結(jié)構(gòu)如圖 2 初 始 抓 取 的 列 表 頁(yè) 數(shù) 據(jù) 表結(jié) 果 數(shù) 據(jù) 表分 析 列 表 頁(yè) 解 析 詳 細(xì) 頁(yè)新 解 析 出 的 詳 細(xì) 頁(yè)新 解 析 出 的 列 表 頁(yè)圖 2直爬蟲(chóng)結(jié)構(gòu)圖 第三節(jié) 理 搜索引擎的靈魂是索引,索引是文檔的最佳組織方式。搜索的過(guò)程就是對(duì)索引庫(kù)進(jìn)行折半查找。本文使用動(dòng)態(tài)鏈接庫(kù) 管理搜索引擎索引庫(kù) 。一個(gè)采用 C#開(kāi)發(fā)的開(kāi)放源代碼的全文索引庫(kù)。 引庫(kù)中存放的是文檔,所謂文檔即信息 的組織結(jié)構(gòu)。索引庫(kù)按關(guān)鍵詞給這些文檔建立索引,使用關(guān)鍵詞搜索查詢(xún),以文檔的形式返回查詢(xún)結(jié)果。 工作原理如圖 2 第 2 章 相關(guān)理論及技術(shù) 12 A d d D o c u m e n t ( )匹 配 到 的 文 檔L u c e n e . N e t 索 引 庫(kù)I n d e x W r i t e rQ u e r y t i t l eI n d e x S e a r c h e 工作原理圖 待檢索和索引的文檔進(jìn)行分詞處理,然后對(duì)經(jīng)過(guò)分詞處理的文本建立索引,目的是為以后的檢索過(guò)程提供快速 準(zhǔn)確 的檢索索引結(jié)構(gòu)。下面 將逐一介紹。 引文檔 搜索引擎的基礎(chǔ)在于對(duì)全文索引庫(kù) 的管理,在 ,通過(guò)體代碼實(shí)現(xiàn)如下: ”c:; /指定索引文件存放路徑 /建立一個(gè)處理文本的分析器 第 2 章 相關(guān)理論及技術(shù) 13 (); /創(chuàng)建一個(gè)文檔,并添加一列 ”,; /把文檔寫(xiě)入索引庫(kù) /關(guān)閉寫(xiě)入器 ; 下面我們介紹代碼中的相關(guān)概念, 是索引庫(kù),在 通過(guò) 索引,通過(guò) 取索引, 作用是打開(kāi)索引。 是一個(gè)抽象類(lèi),定義了分析文本的接口。不同的語(yǔ)言可以使用不同的分析器子類(lèi) 。 來(lái)處理英文。 表索引庫(kù)中的記錄,待搜索的信息被封裝成 入索引庫(kù)。 入文檔 搜 索 文 檔 首 先 通 過(guò) 入 索 引 , 然 找 入 的 索 引 。 法中指定返回多少條結(jié)果,象。 把搜索過(guò)程定義在一個(gè)方法中,結(jié)合代碼來(lái)看,搜索的過(guò)程主要分為以下幾個(gè)步驟: ”D: 第 2 章 相關(guān)理論及技術(shù) 14 /假定待讀入的索引文件在 D: ; /打開(kāi)索引文件,并讀入相關(guān)信息 /執(zhí)行該語(yǔ)句后,索 引文件的相關(guān)信息將放入 “ /執(zhí)行該語(yǔ)句后,索引文件的相關(guān)信息將放入 0); 返回結(jié)果總數(shù) ” ,+ i = 0; i ”); ”); ; 索技術(shù)作為一個(gè)開(kāi)源的項(xiàng)目,自從它誕生以來(lái), 乎已經(jīng)成為全文搜索的同義詞,隨著 發(fā)平臺(tái)越來(lái)越強(qiáng)大,作為 臺(tái)的移植版本, 日益流起 來(lái)。開(kāi)發(fā)人員 可以用它構(gòu)建具體的全文搜第 2 章 相關(guān)理論及技術(shù) 15 索的應(yīng)用,而且 還 可以將 成到各種系統(tǒng)軟件中去,甚至 一些 商業(yè)軟件也采用了 術(shù)作為其全文搜索的核心。 其開(kāi)源的特征、 健壯的系統(tǒng)架構(gòu)和良好 的索引結(jié)構(gòu)獲得了 廣泛 的應(yīng)用 。 第 3 章 系統(tǒng)總體設(shè)計(jì) 16 第 3 章 系統(tǒng)總體設(shè)計(jì) 第一節(jié) 需求分析 通過(guò)調(diào)研發(fā)現(xiàn) , 搜索引擎是人們?cè)诤棋?互聯(lián)網(wǎng) 信息海洋中獲取知識(shí)與信息的主要方式, 近些年 來(lái) 搜索引擎的各種相關(guān)技術(shù)都有了較大的進(jìn)步,并且相繼出現(xiàn)了像 優(yōu)秀的搜索引擎,搜索引擎已經(jīng)成為通過(guò)互聯(lián)網(wǎng)查找所需信息的必不可少的檢索工具。但隨著信息的指數(shù)式增長(zhǎng), 如何從海量信息中精簡(jiǎn)地提取出我們想要的信息已經(jīng)成為搜索引擎面臨的主要問(wèn)題之一。 針對(duì) 以上 情況 分析 ,本文利用開(kāi)源的搜索工具包, 設(shè)計(jì)實(shí)現(xiàn) 基于 直搜索引擎系統(tǒng) , 系統(tǒng)功 能需求主要有 : 前臺(tái) : 友好的 搜索界面。 搜索結(jié)果必須包含真實(shí)的鏈接 內(nèi)容 。 過(guò)濾搜索結(jié)果 。 合理的信息 呈現(xiàn),用戶(hù)可以快速地看到 自己想要搜索的結(jié)果信息 的名稱(chēng)、發(fā)布日期、摘要等信息。 后臺(tái) : 應(yīng)用爬蟲(chóng)原理 抓取信息實(shí)現(xiàn)互聯(lián)網(wǎng)信息的搜集。 創(chuàng)建索引庫(kù),并為 正在創(chuàng)建索引的文件 提供 一個(gè)穩(wěn)定的存儲(chǔ)環(huán)境。 對(duì)索引結(jié)果進(jìn)行分類(lèi)統(tǒng)計(jì)。 建立系統(tǒng)維護(hù)功能,以方 便 對(duì)系統(tǒng)進(jìn)行維護(hù) 第 二 節(jié) 系統(tǒng) 設(shè)計(jì)目標(biāo)及原則 目前 搜索引擎存在 著 不能 很好的 理解自然語(yǔ)言的語(yǔ)義 、充分理解用戶(hù)的搜索請(qǐng)求等問(wèn)題。用戶(hù)瀏覽搜索結(jié)果時(shí)往往只是瀏覽搜索結(jié)果排在前面的幾頁(yè)內(nèi)容 。 如何按照用戶(hù)的搜索意圖精簡(jiǎn)搜索結(jié)果,節(jié)約用戶(hù)的瀏覽時(shí)間 已經(jīng) 成為現(xiàn)代搜索引擎面臨的主要問(wèn)題之一。 第 3 章 系統(tǒng)總體設(shè)計(jì) 17 本 系統(tǒng) 主要針對(duì)互聯(lián)網(wǎng) 現(xiàn)有搜索引擎搜索結(jié)果信息量較大,針對(duì)性不強(qiáng)等問(wèn)題 進(jìn)行研究設(shè)計(jì) , 通過(guò) 發(fā) 索引擎程序,并在 面中調(diào)用搜索引擎程序, 然 后通過(guò)架設(shè) 行實(shí)現(xiàn)系統(tǒng)功能。 系統(tǒng)功能包括:前臺(tái)搜索頁(yè)面接收用戶(hù)查詢(xún)關(guān)鍵字、 系統(tǒng)初步識(shí)別關(guān)鍵字敏感性、 查找索引庫(kù)并將查詢(xún)結(jié)果返回前臺(tái)界面、 文檔索引管理功能、搜索結(jié)果分類(lèi)統(tǒng)計(jì)功能等,力爭(zhēng) 設(shè)計(jì)一個(gè) 簡(jiǎn)單易用 、 搜索針對(duì)性強(qiáng)、 安全性高、 開(kāi)源的 臺(tái)。 具體表現(xiàn)在 : (1) 設(shè)計(jì) 一個(gè) 基于 索引擎系統(tǒng) ,力爭(zhēng)系統(tǒng) 運(yùn)行穩(wěn)定 、 搜索結(jié)果針對(duì)性較強(qiáng) 、 可拓展性良好 。 (2) 搜索引擎 系統(tǒng) 準(zhǔn)確性較高,數(shù)據(jù)分類(lèi)精準(zhǔn),不能包 含重復(fù)冗余信息 。比如,用戶(hù)輸入的關(guān)鍵字經(jīng)系統(tǒng)判定是學(xué)習(xí)相關(guān)的,那么搜索引擎系統(tǒng)就可以通過(guò)搜索結(jié)果篩查去除商業(yè)類(lèi)等和學(xué)習(xí)內(nèi)容不相關(guān)的信息。 (3) 系統(tǒng)人性化設(shè)計(jì),友好的人機(jī)交互界面,簡(jiǎn)單易用。 為用戶(hù)輸入的關(guān)鍵詞敏感性提供判斷。 例如 ,如果 用戶(hù)輸入的 搜索 關(guān)鍵 字時(shí)間等敏感字段 ,說(shuō)明用戶(hù)需要查詢(xún)的信息 內(nèi)容 應(yīng)該是最新的, 那么 搜索引擎返回結(jié)果 的時(shí)候就可以按照時(shí)間排序 , 信息內(nèi)容越新搜索結(jié)果排名 就 應(yīng) 越靠前。 (4) 搜索引擎系統(tǒng)的實(shí)現(xiàn)過(guò)程具有復(fù)雜性,在今后的運(yùn)行實(shí)踐中難免會(huì)出現(xiàn)一些漏洞或不完善的地方,因此這就要求本文開(kāi)發(fā)的 搜索引擎 系統(tǒng)可擴(kuò)展性要 強(qiáng), 即在今后的運(yùn)行實(shí)踐中各個(gè)功能模塊容 易二次開(kāi)發(fā),便于后續(xù)研究 工作對(duì)系統(tǒng)進(jìn)行 完善。 第 三 節(jié) 系統(tǒng) 整體結(jié)構(gòu)和部署關(guān)系 統(tǒng)整體結(jié)構(gòu) 本文設(shè)計(jì)的基于 直搜索引擎系統(tǒng)功能包括各種格式文檔索引功能、實(shí)現(xiàn)中文分詞、全文搜索引擎查詢(xún)、搜索結(jié)果分類(lèi)統(tǒng)計(jì)與導(dǎo)航等,系統(tǒng)整體結(jié)構(gòu)如圖 3示。 第 3 章 系統(tǒng)總體設(shè)計(jì) 18 基 于 . N E T 的 w e b 垂 直 搜 索 引 擎 系 統(tǒng)中 文 分 詞文 檔 索 引 管 理引 擎 代 理搜 索 結(jié) 果 分 類(lèi) 統(tǒng) 計(jì)關(guān)鍵詞切分倒排索引索引切詞索引存儲(chǔ)用戶(hù)數(shù)據(jù)處理檢索數(shù)據(jù)處理關(guān)鍵詞查詢(xún)結(jié)果集排序圖 3統(tǒng)功能模塊圖 各子系統(tǒng)的功能相對(duì)獨(dú)立,但它們之間又存在緊密

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論