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

正文內(nèi)容

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

2025-07-15 22:31 上一頁面

下一頁面
 

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