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

正文內(nèi)容

互聯(lián)網(wǎng)信息檢索系統(tǒng)的研究與實(shí)現(xiàn)本科畢業(yè)論文(參考版)

2025-06-30 22:31本頁面
  

【正文】 他無論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大。 致 謝在這次畢業(yè)設(shè)計的整個過程中,雖然遇到了一些技術(shù)上的難題但在與老師、同學(xué)和網(wǎng)友的交流下都及時的解決了問題。在軟件的開發(fā)過程中,知道了許多編程的技巧,積累了許多設(shè)計方面的經(jīng)驗(yàn)。在這段時間里,本人對C語言的掌握和Visual Stuido的使用有了較大的提高,在編程思想方面也有了進(jìn)一步的提高。每次多線程采集數(shù)據(jù)時,系統(tǒng)內(nèi)存的使用量都很大,對硬件的要求很高。為檢索模塊提供數(shù)據(jù)來源。本系統(tǒng)基本上達(dá)到了預(yù)期想要完成的效果,實(shí)現(xiàn)了網(wǎng)頁數(shù)據(jù)的抓取、數(shù)據(jù)的索引、數(shù)據(jù)的檢索等功能,并且在HTML文件解析方面研究了多種解決方案,實(shí)現(xiàn)了對網(wǎng)頁關(guān)鍵內(nèi)容的提取。 結(jié)束語本人在開發(fā)過程中學(xué)習(xí)到了很多軟件知識,同時也認(rèn)識到自己知識的匱乏,比如對很多關(guān)鍵技術(shù)只停留在理論層次,沒有經(jīng)過實(shí)踐,沒能真正懂得其中的精華,走了很多彎路,查閱了很多資料。本系統(tǒng)采用黑盒測試方法及自頂向下測試方法,從主模塊開始,沿程序的控制路徑逐步向下,挨個進(jìn)行各個功能的測試,比如在數(shù)據(jù)檢索中輸入一個關(guān)鍵字,則在顯示檢索數(shù)據(jù)結(jié)果界面中就能看到所檢索的詳細(xì)信息,表明此系統(tǒng)沒有毛病,滿足用戶的要求。 測試用例預(yù)期測試結(jié)果實(shí)際測試結(jié)果測試結(jié)論我是中國人我是/中國/中國人我是/中國人基本正確中國是社會主義國家中國/是/社會/主義/國家/社會主義中國/是/社會主義國家基本正確每個人都應(yīng)孝敬父母每個/人/都應(yīng)/孝敬/父母/孝敬父母每個人/都/應(yīng)/孝敬父母基本正確(2) 網(wǎng)頁超鏈接獲取模塊測試網(wǎng)頁超鏈接的獲取是網(wǎng)頁抓取模塊的關(guān)鍵功能,通過測試,基本上實(shí)現(xiàn)了預(yù)期的效果。 模塊測試模塊測試就是把各個模塊看成一個小整體,采用靜態(tài)測試和白盒測試法來測試各模塊是否滿足要求。 測試內(nèi)容軟件并不僅僅是程序測試,軟件測試應(yīng)貫穿于整個軟件生命周期中。(2) 測試方法系統(tǒng)的測試方法分為靜態(tài)測試和動態(tài)測試兩種。 測試基礎(chǔ)(1) 測試的目的測試的目的,是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的產(chǎn)品缺陷和錯誤造成的隱患所帶來的風(fēng)險。系統(tǒng)要想正確穩(wěn)定的運(yùn)行,必須經(jīng)過嚴(yán)格測試。數(shù)據(jù)檢索效果如圖55所示。}else{ (Hits為空)。 } = mytab。 (myrow)。 myrow[1] = (content).ToString()。 myrow = ()。 i ()。 ()。 (content)。 DataTable mytab = new DataTable()。h = (query)。QueryParser q = new QueryParser(indexcontent, new StandardAnalyzer())。Hits h = null。代碼實(shí)現(xiàn)如下:string Index_Path = (Index)。圖54 數(shù)據(jù)檢索主界面 檢索索引數(shù)據(jù)客戶端將要檢索的關(guān)鍵詞傳遞到服務(wù)器,服務(wù)器端處理程序首先對關(guān)鍵詞進(jìn)行分析,然后從索引文件中進(jìn)行查找,將符合匹配的結(jié)果返回給客戶端。 }} 數(shù)據(jù)的檢索 數(shù)據(jù)檢索主界面設(shè)計根據(jù)數(shù)據(jù)檢索的功能需求可知,其界面需有客戶端輸入關(guān)鍵詞的文本框,并且提供查詢按鈕。 ()。 (doc)。 (new Field(url, dr[Url].ToString(), , ))。數(shù)據(jù)庫待索引數(shù)據(jù)生成field對象,暫存在SqlDataReader中內(nèi)存文件系統(tǒng)索引文件圖53 生成索引文件基本流程代碼實(shí)現(xiàn)如下:public void AddDocument(SqlDataReader dr){ try { while (()) { Document doc = new Document()。暫存到SqlDataReader中,最后將SqlDataReader作為參數(shù)傳入添加索引項到索引文件的函數(shù)中,生成索引文件。索引參數(shù)配置界面如圖52所示。 } else { return title。 string title = (html, title, title, )。private string GetTitle(string html){ Match m = (html,(?m)title[^]*(?title(?:\w|\W)*?)/title[^]*。HTML數(shù)據(jù)格式是一種特殊的XML數(shù)據(jù)進(jìn)行展現(xiàn)的, ,可以方便的實(shí)現(xiàn)獲取節(jié)點(diǎn)的屬性,值等,再加上C強(qiáng)大的正則表達(dá)式的支持,可以準(zhǔn)確的完成對HTML進(jìn)行解析的工作。網(wǎng)絡(luò)蜘蛛在爬行到每一個網(wǎng)頁時,都需要對HTML文檔進(jìn)行分析,主要需要完成兩個操作:(1) 分析出頁面中所有HREF的值,并將這些URL添加到待爬行的URL隊列中,以供網(wǎng)絡(luò)蜘蛛接下來爬行使用。文件頭(TITLE)包含文檔的標(biāo)題,以及其它相關(guān)屬性,這些內(nèi)容不顯示在瀏覽器的頁面中。 if (response != null) ()。 } finally { if (reader != null) ()。 return。 ProcessPage(buffer)。 while ((line = ()) != null) { buffer += line + \r\n。 } string buffer = , line。 if (!().StartsWith(text/)) { SaveBinaryFile(response)。 response = ()。 StreamReader reader = null。具體代碼如下:private void Download(Uri url){ WebResponse response = null。} 網(wǎng)頁文件下載通過WebResponse,HttpWebRequest對象對文件進(jìn)行下載,數(shù)據(jù)可以是二進(jìn)制格式,也可以是文本類型數(shù)據(jù)。 ()。 if (!(url)) (url, )。 Download(url)。 } } else { break。 ++。 lock (manager) { while (true) { if ( != 0) { url = (Uri)()。 waitTimes++。 waitTimes = 0。具體代碼如下:private void Run(){ while (!) { if ( == 0) { (Name + waiting 1000)。 }首先設(shè)定一個網(wǎng)頁爬行入口點(diǎn),通過解析HTML,將文檔中所有的URL添加到待訪問URL的哈希表中。 (worker)。 threads[i] = new Thread(new ThreadStart())。 i++) { Spider worker = new Spider()。 for (int i = 0。public void Start(){ timer = new HighResolutionTimer()。本文我們采用線程數(shù)組的形式來實(shí)現(xiàn)多線程操作。}一般來說,網(wǎng)絡(luò)蜘蛛都是使用多線程來下載網(wǎng)絡(luò)資源的。thread = new Thread(fun)。其中的核心線程類是Thread。網(wǎng)頁抓取界面如圖51所示。最廉價和快捷的方法就是使用多線程。由于本系統(tǒng)的功能和模塊較多實(shí)現(xiàn)較復(fù)雜,本章選擇了有代表性的幾個功能的實(shí)現(xiàn)方法進(jìn)行介紹,主要包括如下幾個方面:(1) 多線程網(wǎng)頁數(shù)據(jù)抓??;(2) HTML文檔的掃描與分析;(3) 數(shù)據(jù)的索引;(4) 數(shù)據(jù)的檢索。數(shù)據(jù)索引執(zhí)行過程如圖44所示。以document對象形式傳入數(shù)據(jù)庫待索引數(shù)據(jù)生成field對象生成document對象,調(diào)用add方法加入field對象加入document對象生成小段分析文檔寫入索引信息排序位置信息內(nèi)存文件系統(tǒng)索引文件準(zhǔn)備階段索引構(gòu)建階段字節(jié)流輸入合并輸出開始結(jié)束圖43 網(wǎng)頁數(shù)據(jù)索引流程圖 數(shù)據(jù)檢索處理流程以網(wǎng)站的形式提供數(shù)據(jù)檢索功能。數(shù)據(jù)抓取執(zhí)行過程如圖42所示。網(wǎng)頁抓取配置管理互聯(lián)網(wǎng)信息檢索系統(tǒng)配置管理模塊數(shù)據(jù)抓取模塊數(shù)據(jù)索引模塊數(shù)據(jù)檢索模塊數(shù)據(jù)索引配置管理網(wǎng)頁數(shù)據(jù)存儲網(wǎng)頁文件存儲索引數(shù)據(jù)管理中文分詞數(shù)據(jù)檢索與顯示系統(tǒng)日志信息管理日志管理模塊Html文件的解析圖41 EarthSearch系統(tǒng)結(jié)構(gòu)圖 系統(tǒng)處理流程設(shè)計 數(shù)據(jù)抓取處理流程使用多線程進(jìn)行網(wǎng)頁數(shù)據(jù)的采集,首先對入口URL的HTML進(jìn)行解析,從中獲取HTML所有URL地址,添加到待解析的URL隊列中,將HTML中核心數(shù)據(jù)保存到數(shù)據(jù)庫,并將文件下載到服務(wù)器??梢圆皇褂迷撃K以提高系統(tǒng)性能??梢詫⑷罩痉植煌募墑e,不同的樣式,保存到不同的媒介中。日志管理模塊提供了一種安全操作數(shù)據(jù)記錄的機(jī)制。首先進(jìn)行中文分詞,將接收到的用戶請求信息分割成若干個關(guān)鍵詞,最終進(jìn)行高亮、分頁處理反饋給用戶。實(shí)現(xiàn)搜索引擎中的Searcher模塊。 數(shù)據(jù)檢索模塊數(shù)據(jù)檢索模塊主要為用戶提供數(shù)據(jù)檢索的功能。,索引時使用單獨(dú)的線程,可以同數(shù)據(jù)抓取線程互相不干擾。 數(shù)據(jù)索引模塊數(shù)據(jù)索引模塊主要提供對數(shù)據(jù)抓取模塊的數(shù)據(jù)進(jìn)行索引,生成索引文件,為數(shù)據(jù)檢索模塊提供檢索數(shù)據(jù)。從而實(shí)現(xiàn)數(shù)據(jù)抓取的高效性。實(shí)現(xiàn)搜索引擎中的Crawler模塊。使用SOAP格式的XML進(jìn)行相關(guān)配置的保存,C對XML的操作具有很好的支持,可以高效的實(shí)現(xiàn)對XML節(jié)點(diǎn)、屬性等方面的操作。 配置管理模塊配置管理模塊主要提供了對系統(tǒng)配置文件的操作,對配置文件進(jìn)行添加,修改,刪除等功能。包括:配置管理模塊,數(shù)據(jù)抓取模塊,數(shù)據(jù)索引模塊,數(shù)據(jù)檢索模塊,日志管理模塊。 系統(tǒng)總體結(jié)構(gòu)設(shè)計系統(tǒng)在功能上采用分層方式,盡量減少層與層之間的耦合度,同時通過對模塊功能進(jìn)行精心劃分,取得了很好的可配置性。系統(tǒng)在實(shí)現(xiàn)上具有以下特點(diǎn):系統(tǒng)命名為EarthSearch。}當(dāng)然。 } catch (Exception ex) { ()。 ()。 ()。 (doc)。 (new Field(title, dr[Title].ToString(), , ))。 while (()) { Document doc = new Document()。 SqlDataReader dr = ()。 if ( == ) { ()。 IndexWriter writer = null。database=News。uid=sa。如果系統(tǒng)也使用C語言開發(fā),作為一個API集來調(diào)用。比如改進(jìn)其索引的效率,設(shè)置權(quán)重,操作索引庫,改進(jìn)其返回結(jié)果時候的緩沖機(jī)制等等。這些都要符合查詢解析器的要求。(3) 具體搜索邏輯的設(shè)計,,也通過QueryParser提供強(qiáng)大的查詢語言。因此我們需要按照目標(biāo)語言的詞法結(jié)構(gòu)來構(gòu)建相應(yīng)的詞法分析邏輯。如圖35所示。在此基礎(chǔ)上,緊接著還可以在全文檢索引擎的基礎(chǔ)上構(gòu)建各種應(yīng)用系統(tǒng)。查詢語句對象流則是僅僅在查詢語句解析時用到的概念,它對查詢語句抽象,通過類的繼承結(jié)構(gòu)反映查詢語句的結(jié)構(gòu),將之傳送到查找邏輯來進(jìn)行查找的操作。是對傳統(tǒng)文字中的詞的概念進(jìn)行抽象,;簡單的講Token就是一個詞和所在域值的組合。圖中共存在4種數(shù)據(jù)流,分別是文件流,token流,字節(jié)流與查詢語句對象流。被索引文件語義分析邏輯索引構(gòu)建邏輯索引文件查詢語句索引查找邏輯評分排序邏輯查詢結(jié)果文件流文件流文件流Token流Token流字節(jié)流字節(jié)流圖33 。這部分的分析,也是進(jìn)行重
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1