freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于lucene與heritrix的搜索引擎構(gòu)建-資料下載頁(yè)

2025-05-12 13:13本頁(yè)面

【導(dǎo)讀】在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,互聯(lián)網(wǎng)上的信息更是浩如煙海。人們?cè)谙硎芑ヂ?lián)網(wǎng)帶來。信息的問題,由此互聯(lián)網(wǎng)搜索引擎應(yīng)運(yùn)而生。本文在對(duì)搜索引擎的原理、組成、數(shù)據(jù)結(jié)構(gòu)和工作流程等方面深入研究的基礎(chǔ)上,對(duì)搜索引擎的三個(gè)核心部分即網(wǎng)絡(luò)蜘蛛、網(wǎng)頁(yè)索引和搜索的分析及實(shí)現(xiàn)過程進(jìn)行闡述。索部分在Ajax技術(shù)支持上,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)靈活、簡(jiǎn)潔的用戶接口。取網(wǎng)頁(yè)、建立和管理索引、建立日志以及搜索信息等功能,具備一定的應(yīng)用前景。

  

【正文】 public abstract FileResultSet filtrateUnvaluedFile(FileResultSet source)。 public boolean containsTag(Tag tag, String path) 過程描述: filtrateUnvaluedFile 方法是抽象的,沒有實(shí)現(xiàn)。 containsTag 方法主要是檢驗(yàn) Html 文件中是否含有某個(gè)標(biāo)記。 containsTag 方法實(shí)現(xiàn)的主要原理 : 首先實(shí)例化 對(duì)象 parser,Parser 是分裝器, 可以解析 Html 文件。 將 path 作為 Parser 構(gòu)造函數(shù)參數(shù)初始化 parser,再利用 paser 對(duì)象的 parser 方法提取網(wǎng)頁(yè)中所有的節(jié)點(diǎn)標(biāo)記,將其放入 NodeList 對(duì)象nodes 中,代碼如下: NodeList nodes = ((tag))。 其中 NodeFilterFactor 是自己定義的節(jié)點(diǎn)過濾器工廠,它可以產(chǎn)生指定的節(jié)點(diǎn)過濾器。 下一步的工作是判斷 nodes 的個(gè)數(shù),如果是零個(gè)說明該網(wǎng)頁(yè)中不包含 tag 標(biāo)記,所以 返回 false;反之,則返回 true。 ③ HtmlFileFilterForMovie 類基本實(shí)現(xiàn) 該類 繼承自 HtmlFileFilter 類 。 主要方法: public FileResultSet filtrateUnvaluedFile(FileResultSet source) public boolean isValuable(String path) 過程描述: filtrateUnvaluedFile 在這里實(shí)現(xiàn)了, 它主要判斷是否 為 Html 文件并檢驗(yàn)一些標(biāo)記特征是否符合要求, 首先實(shí)例化 FileResultSet 對(duì)象 valuableReports,用于保留有價(jià)值的 文件路徑, 再利用 source 的迭代器進(jìn)行循環(huán)判斷,如果符合放入 valuableReports中,反之,繼續(xù)循環(huán) 。 最后返回 valuableReports 對(duì)象,此過程中用到了 isValuable 方法,以下是對(duì) isValuable方法的描述: 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –21– isValuable 主要的功能是檢驗(yàn) Html 文件是否包含某些標(biāo)記, 它是結(jié)合實(shí)體 xml 配置文件進(jìn)行檢驗(yàn)的,比如影視實(shí)體的配置文件如下所示: movie tag key=pic type=div attribute type=classmain_home_movie_pics/attribute /tag …… /movie 其中可以很清楚的看到對(duì) tag 的描述,比如上例中, Html 文件應(yīng)該包含 div class=” main_home_movie_pics”/div標(biāo)記 , 可以通過 EntityExtractorAssistant 的 實(shí)例 ass 抽取信息, EntityExtractorAssistant是基于 Dom4J 的 xml 解析器 。接下來利用 ass 的方法 getTags得到所有的標(biāo)記,再利用父類中的 containTag 方法判斷 Html 文件是否包含這些標(biāo)記,最后如果全部包含返回 true,反之,如果有一個(gè)不符合返回 false。 (3) Extractor 抽取器基本實(shí)現(xiàn) ① 基于分裝器的抽取器基本實(shí)現(xiàn) 以 HtmlExtractorForMovie 為例描述一下這類抽取器的基本實(shí)現(xiàn) ,如下: 基于分裝器的抽取器主要的工作在于如何利用分裝器將某些標(biāo)記下的內(nèi)容提取出來,比如說 div class=” main_home_movie_pics”/div標(biāo)記下有需要的內(nèi)容。剛才簡(jiǎn)單介紹了實(shí)體配置文件,這里就利用這個(gè)配置文件對(duì) Html 文件進(jìn)行內(nèi)容提取,大致流程如下: 首先 定義實(shí)體實(shí)例 , 利用 EntityExtractorAssistant 將實(shí)體配置文件中的約束標(biāo)記提取出來 , 再利用分裝器從 Html 文件中將帶有約束標(biāo)記的內(nèi)容提取出來, 最后對(duì)內(nèi)容做一下處理,將內(nèi)容放入實(shí)體實(shí)例中,返回實(shí)體實(shí)例。 ② 基于統(tǒng)計(jì)的抽取器基本實(shí)現(xiàn) 抽取器的實(shí)現(xiàn)部分主要集中在篩選算法上,其利用了標(biāo)準(zhǔn)方差的計(jì)算方法,實(shí)現(xiàn)過程如下: int sum = 0。 int num = 0。 int len = 。 // 獲得還未被選取塊個(gè)數(shù)及其總長(zhǎng)度 for (int i = 0。 i len。 i++) if (!staBlock[i]) { num++。 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –22– sum += sizeBlock[i]。 } // 定義還未被選取塊平均長(zhǎng)度 double avg = (double) sum / ( * (double) num)。 // 計(jì)算方差 double err = 。 for (int i = 0。 i len。 i++) if (!staBlock[i]) { double val = (double) sizeBlock[i] avg。 val *= val。 err += val。 } // 計(jì)算標(biāo)準(zhǔn)方差 return (err) / ( * (double) num)。 (4) IndexBuilder 索引構(gòu)造器基本實(shí)現(xiàn) IndexBuilder 類基本 方法 實(shí)現(xiàn) 如下: 主要方法: public void addEntity(Entity entity) protected boolean hasExist(Entity entity) 過程描述: addEntity 方法的功能是向索引中寫入實(shí)體對(duì)象內(nèi)容, 利用 IndexWriter類的方法 write 將封裝了實(shí)體內(nèi)容的 Document 寫入索引中。 最后關(guān)閉 IndexWriter 實(shí)例 ,結(jié)束添加實(shí)體。 主要代碼如下: //利用 IndexWriter 實(shí)例 writer 添加 Document 實(shí)例 ((entity))。 hasExist 方法主要是判斷索引中是否含有了實(shí)體信 息, 其中 以 Entity 中的屬性keyAttribute 為關(guān)鍵值檢查。 這是 IndexBuilder 類的基本實(shí)現(xiàn),在項(xiàng)目中還有三個(gè)類: JEIndexBuilder 、ICT_IndexBuilder 和 StarndardIndexBuilder,它們繼承類 IndexBuilder 類,主要實(shí)現(xiàn)addEntity 方法。 用戶接口 子 系統(tǒng) (1) 搜索器基本實(shí)現(xiàn) 搜索器的實(shí)現(xiàn)需要有 Lucene 技術(shù)的支持。 主要方法: public EntitySet getSearchResults(String key) 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –23– 實(shí) 現(xiàn)過程: 首先將 key 進(jìn)行處理,利用分詞器進(jìn)行切分,然后實(shí)例化 IndexSearcher為 searcher,再利用實(shí)例 searcher 調(diào)用方法 search 得到 Hits 結(jié)果集,再對(duì)結(jié)果集進(jìn)行分析處理。其實(shí)在這個(gè)過程中對(duì)分詞器的選取應(yīng)用了三個(gè)分詞器 JE, ICTCLAS 和StandardAnalyzer,三個(gè)分詞器原理已經(jīng)在設(shè)計(jì)中提到, 因?yàn)樵跇?gòu)造索引用到的分詞器和對(duì)輸入的詞進(jìn)行切分的分詞器是一個(gè),必須相同。 三個(gè)分詞器可以對(duì)三個(gè)索引庫(kù)進(jìn)行搜索,但順序并不是并行的,首先在 ICTCLAS 對(duì)應(yīng)庫(kù)中搜索,無結(jié)果再在 JE 對(duì)應(yīng)庫(kù) 中搜索,最后如果前兩中沒有結(jié)果再在 StandardAnalyzer 對(duì)應(yīng)庫(kù)搜索。 這樣會(huì)返回更符合用戶要求的信息,但也會(huì)帶來效率問題。 (2) 請(qǐng)求響應(yīng) Servlet 基本實(shí)現(xiàn) 因?yàn)閼?yīng)用類 Ajax 技術(shù),在請(qǐng)求響應(yīng)的 Servlet 中要以 xml 的格式傳輸數(shù)據(jù),在實(shí)體內(nèi)部定義一個(gè)可以將自己屬性封裝到 xml 格式字符串中是有必要的,在 Servlet 直接調(diào)用這個(gè)方法即可。 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –24– 結(jié) 論 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建,此課題的設(shè)計(jì)開發(fā)終于完成,在此過程中,遇到了困難,也收獲了新知 。 對(duì)源代碼搜索引擎的開發(fā) 和實(shí)現(xiàn)中,主要進(jìn)行了以下工作 : (1) 在信息抓取模塊, 利用 Heritrix 對(duì)國(guó)內(nèi)知名的網(wǎng)站 和 進(jìn)行資源 抓取 。 (2) 在分詞模塊 , 使用 中科院 分詞器 、 JE 和 StandardAnalyzer 分析器 ,實(shí)現(xiàn)了的中文分詞,能夠更有效的索引于 網(wǎng)頁(yè)、影視及圖片 相關(guān)的信息。 (3) 充分使用了 自己設(shè)計(jì)的系統(tǒng)框架,將數(shù)據(jù)和業(yè)務(wù)分離,提高系統(tǒng)的可擴(kuò)展性和操作性 。 (4) 開發(fā)了 基于 Ajax 技術(shù)的用戶接口子系統(tǒng),有效、快捷的完成搜索任務(wù) 。 雖然在搜索結(jié)果的精確度和索引的 存儲(chǔ)方式上有待進(jìn)一步的細(xì)化和完善,但基本實(shí)現(xiàn)了本系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)方法,能夠?qū)?jīng)過抓取的網(wǎng)頁(yè)上進(jìn)行有效的搜索。而且由于系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)都采用了面向?qū)ο蟮姆椒ǎ谙到y(tǒng)的可繼承性和重用性方面都有利于將來的完善和改進(jìn)。 由于時(shí)間緊迫,而且整個(gè)系統(tǒng)涵蓋的范圍很大,涉及到的技術(shù)細(xì)節(jié)很多,有部分細(xì)節(jié)上的實(shí)現(xiàn)采用了比較簡(jiǎn)單的方法,以便于整個(gè)系統(tǒng)的順利實(shí)現(xiàn)。因此,還 需要 進(jìn)行深入的研究,以提高整個(gè)系統(tǒng)的性能。 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –25– 參 考 文 獻(xiàn) [1] 李剛 ,宋偉 ,邱哲 .征服 Ajax+Lucene 構(gòu)建搜索引擎 .北京 :人民郵電出版社 ,2020. [2] 邱哲 ,符滔滔 .開發(fā)自己的搜索引擎 + :人民郵電出版社 ,2020. [3] 孫承杰 .基于統(tǒng)計(jì)的網(wǎng)頁(yè)正文信息抽取方法的研究 .中文信息學(xué)報(bào) ,2020,18(5):1722. [4] 蒲宇達(dá) ,關(guān)毅 ,王強(qiáng) .基于數(shù)據(jù)挖掘思想的網(wǎng)頁(yè)正文抽取方法的研究 .第三屆學(xué)生計(jì)算語(yǔ)言學(xué)研討會(huì)論文集 ,沈陽(yáng) ,2020:246250. [5] 朱明 .數(shù)據(jù)挖掘 .合肥 :中國(guó)科學(xué)技術(shù)大學(xué)出版社 ,2020. [6] Hu Y H, Li H, Cao Y B et al. Automatic extraction of titles from general documents using machine learning. Information Processing and Management, 2020, 42 (5):12761293. [7] 王德峰 ,李東 .搜索引擎 Google 的體系結(jié)構(gòu)及其核心技術(shù)研究 .哈爾濱商業(yè)大學(xué)學(xué)報(bào) (自然科學(xué)版 ),2020,(01). [8] 呂平 .基于 Ajax的 IP網(wǎng)絡(luò)管理系統(tǒng)的研究與實(shí)現(xiàn) :(碩士學(xué)位論文 ).北京 :北京交通大學(xué) , 2020. [9] 陳兵國(guó) .基于 AJAX的網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn) .福建電腦 ,2020,(12). [10] 張校乾 ,金玉玲 ,侯麗波 .一種基于 Lucene 檢索引擎的全文數(shù)據(jù)庫(kù)的研究與實(shí)現(xiàn) .現(xiàn)代圖書情報(bào)技術(shù) ,2020. [11] 楊海東 .基于 Ajax 技術(shù)的異步搜索引擎研究與實(shí)現(xiàn) :(碩士學(xué)位論文 ).南京信息工程大學(xué) ,2020. [12] 周珍娟 ,張字平 ,陸玲 .基于 的電子文獻(xiàn)全文檢索系統(tǒng) .電腦知識(shí)與技術(shù) (學(xué)術(shù)交流 ),2020. [13] 朱永盛 ,武港山 .基于 Web的新聞信息抽取 .計(jì)算機(jī)工程 ,2020,32(10):7476. [14] 劉遷 ,賈惠波 .中文信息處理中自動(dòng)分詞技術(shù)的研究與展望 .計(jì)算機(jī)工程與應(yīng)用 ,2020. [15] 丁承 .基于字表的中文搜索引擎分詞系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) .計(jì)算機(jī)工程 ,2020. 基于 Lucene 與 Heritrix 的搜索引擎構(gòu)建 –26– 致 謝 畢業(yè)設(shè)計(jì)的這段 時(shí)間里,無論是在學(xué)習(xí)上還是生活上我都 收獲 了 很多 ,這離不開老師和同學(xué)們的關(guān)心和幫助。 首先,衷心感謝我的導(dǎo)師 趙晶瑩 老師。從選題 、 開發(fā) 直到論文的完成, 趙 老師都給予我精心的指導(dǎo),使我在 搜索引擎分析開發(fā)上 有了長(zhǎng)足的進(jìn)步。 趙 老師熱情的為人、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度 以及 強(qiáng)烈的責(zé)任心,都是我學(xué)習(xí)的楷模,對(duì)于我的學(xué)習(xí)和將來的工作生 活都將是一筆寶貴的財(cái)富。在此向 趙 老師表示誠(chéng)摯的謝意 ! 其次,要感謝我的同學(xué)們,在我的生活上對(duì)我的照顧,學(xué)習(xí)上對(duì)我的幫助,他們每個(gè)人的身上都有值得我學(xué)習(xí)的優(yōu)點(diǎn),在這里尤其要感謝 盧曉偉、韓嘉、馬永飛 、李楠 等同學(xué),和他們渡過的每一寸開心時(shí)光都會(huì)成為我一生的美好回憶,愿他們都能擁有一個(gè)美麗的人生。 最后要感謝我的 父母 ,是他們?cè)谖疑砗笠恢敝С治?,給我愛與關(guān)懷,在我遇到困難的時(shí)候鼓勵(lì)我,在我有收獲時(shí)為我高興。他們是我生活的動(dòng)力、一生的財(cái)富,愿他們平安 、 健康、幸福 !
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1