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

正文內(nèi)容

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

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

下一頁面
 

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