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

正文內(nèi)容

畢業(yè)設(shè)計-基于ajaxlucene構(gòu)建搜索引擎的設(shè)計和實現(xiàn)-論文-文庫吧資料

2024-12-09 17:12本頁面
  

【正文】 字顯示為紅色 ,網(wǎng)頁的 title 顯示為藍色,其他信息包括搜集信息時的日期,內(nèi)容。運行 spider 爬蟲,抓取網(wǎng)頁。 (/tr)。 (tr class=+c+)。 (tda href=+(Url)++(title)+/a/td)。 content=(keywords,font color=red+keywords+/font)。 Document doc = (i)。 i endNum。 (trtd結(jié)果數(shù) :+result+ 所用時間 :+t+毫秒 /td/tr)。 } 如果前臺 Javascript 需要調(diào)用某個方法,那就在那個函數(shù)前加上[],表示此方法屬于 ajax 應(yīng)用。在程序中注冊后,在 html 里就可以使用 Javascript 來調(diào)用后臺的程序。 Ajax 在此部分中被使用到,它完成的功能是部分刷新頁面,不需整個頁面的重新加載。 (doc)。 ((Url,row[Url].ToString()))。 ((mata,row[mata].ToString()))。 ((contents, row[content].ToString()))。 } 使用 Lucene 提供的方法對數(shù) 據(jù)庫中的每條記錄建立索引實現(xiàn)如下: 第 13 頁 共 19 頁 Document doc = new Document()。 ()。 int docNum = ()。 DoIndexByDB(writer)。 (iDexDir,true)。 (false)。 在創(chuàng)建索引庫時,會合并多個 Segments 文件。主要通過 Lucene 提供的方法來協(xié)助實現(xiàn)。 ()。 if(url == || url == null || url == ) continue。i。)。 } urlArr=().Split(39。 (對 url:+URL+相關(guān)信息寫入數(shù)據(jù)庫成功 !)。+mata+39。+title+39。+Content+39。+URL+39。amp。 Content = parseChar(Content)。 //得到去了 HTML標(biāo)簽的網(wǎng)頁文本 URL=url。 Content = parseScript(PageString)。 urlList = GetHttpUrl(PageString)。 String PageString=()。 return。 try {//讀取一個 URL的信息到流變量里 Stream strm=(url)。 Client=new ()。 string[] urlArr = null。 String mata=。具體代碼如下: private static void UrlThread() { String title=。再下步就是對獲取到的標(biāo)題、網(wǎng)頁內(nèi)容、鏈接等信息調(diào)用數(shù)據(jù)庫操作通用類 DAI 保存到數(shù)據(jù)庫里,這就實現(xiàn)了一個網(wǎng)頁的抓取。 首先定義一些變量用于保存抓取到的網(wǎng)頁信息, urlList 用于保存當(dāng)前頁面上的 URL集合。下面對各部分關(guān)鍵代碼 進行詳解。索引生成后在查詢部分就能夠在網(wǎng)頁上輸入關(guān)鍵字,對剛才抓取的信息的查詢。 關(guān)鍵代碼詳解 代碼結(jié)構(gòu) 如圖 6: 寫入 讀取 生成 引用 檢索 圖 6 代碼結(jié)構(gòu) 在網(wǎng)頁爬蟲 Console 端應(yīng)用程序里輸入一個有效的 URL后這部份就開始從第一個 URL 開始遍歷相關(guān)的鏈接并把相關(guān)的信息寫入到網(wǎng)頁數(shù)據(jù)存儲數(shù)據(jù)庫里,然后就由索引生成程序讀取網(wǎng)頁數(shù)據(jù)存儲數(shù)據(jù)庫,對每條記錄生成索引記錄,存放于生成的索引庫文件里。 .NET 是 Microsoft 面向 Web 服務(wù)的平臺,由框架、 Web 服務(wù)、 .NET企業(yè)服務(wù)器等幾部分組成,提供涉及面較廣、功能較全面的解決方案。在用 Lucene的搜索引擎中,用到了 Lucene 提供的方法,可從所建立的索引文檔中獲得結(jié)果。 所有的搜索引擎的目標(biāo)都是為了用戶查詢。針對不同的語言和應(yīng)用需要選擇適合的 Analyzer。在一個文檔被索引之前,首先需要對文檔內(nèi)容進行分詞處理,這部分工作就是由 Analyzer 來做的。一個Document 對象由多個 Field 對象組成的。 用同樣的方法繼續(xù)抓取網(wǎng)頁 , 這里將運用到多線程技術(shù) 。因為抓取的網(wǎng)頁含有 HTML 標(biāo)簽、 Javascript 等, 對搜索多余的信息,如果抓取到的網(wǎng)頁不經(jīng)過處理就會使搜索變得不夠 精確。然后把抓取到的網(wǎng)頁信息包括網(wǎng)頁內(nèi)容、標(biāo)題、鏈接抓取時間等信息經(jīng)過 ‘ 減肥 ’ 后保存到網(wǎng)頁存儲數(shù)據(jù)庫表里。當(dāng)在獲取 URL 時存在這樣的問題就是在實際應(yīng)用中主要以絕對地址和相對地址來表現(xiàn)。 從一個或 若干初始網(wǎng)頁的 URL 開始,獲得初始網(wǎng)頁上的 URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上 抽取新的 URL 放入隊列 ,直到滿足系統(tǒng)的一定停止條件。 輸 入 一 個 U R L結(jié) 果 列 表 啟 動 爬 蟲 程 序 使 用 L u c e n e . n e t 文 檔 類建 立 文 檔 索 引不 斷 的 抓 取 網(wǎng) 頁寫 入 數(shù) 據(jù) 庫去 掉 多 余 標(biāo) 簽獲 取 有 效 記 錄 頁 面 上 輸 入 關(guān) 鍵 字使 用 L u c e n e . n e t 搜 索 類是 否 成 功YA J A X 圖 功能流程圖 第 9 頁 共 19 頁 圖 模塊圖 該系統(tǒng)用 3 個模塊來實現(xiàn)搜索引擎的主要功能。 第 8 頁 共 19 頁 表 1 網(wǎng)頁數(shù)據(jù)存儲表 邏輯字段名 物理字段名 字段類型 是否為空 主鍵 外鍵 說 明 編號 ID int NOT NULL Yes 自增加 地址 Url Varchar(50) NOT NULL 內(nèi)容 Content VARCHAR(1000) NOT NULL meta 標(biāo)簽內(nèi)容 Mata Varchar(100) NOT NULL 網(wǎng)頁標(biāo)題 Title Varchar(100) NOT NULL 創(chuàng)建時間 Createdate Datetime(8) NOT NULL 模塊設(shè)計 該模型按照功能劃分為 三 個部分,一是 爬蟲抓取網(wǎng)頁部分 ,二是 從數(shù)據(jù)庫建立索引 部 分 ,三是 從前臺頁面查詢 部 分。 如圖 4 所示。 索引生成包括:基于文本文件的索引、基于數(shù)據(jù)庫的索引。 搜索引擎模型 模型包括 爬蟲、索引生成、查詢以及系統(tǒng)配置部分 。 2. 軟件環(huán)境: 源 端: Windows 2021/XP 操作系統(tǒng)、 MSSQL Server 2021 數(shù)據(jù)庫、 、 .NET 。 輸出: Web 頁面上顯示搜索信息。 輸入輸出要求 輸入:搜索的關(guān)鍵字。 搜索時響應(yīng)時間應(yīng)不超過 3 秒,無論搜索的記錄多少。 對搜索出的內(nèi)容需要包含有關(guān)鍵字信息 2. 時間特性要求: 數(shù)據(jù)收集時,因為是對 Inter 網(wǎng)上 Web 信息的收集,并且采用 URL第 7 頁 共 19 頁 級鏈?zhǔn)降木W(wǎng)頁收集。 9. 邏輯搜索功能比如“中國” AND“北京” AND NOT(“海淀區(qū)” AND“中關(guān)村”)。 7. 實現(xiàn)中英文分詞功能 , 能夠按中文或者英文單詞檢索數(shù)據(jù)。 5. 對收集到的數(shù)據(jù)進行關(guān)鍵詞的檢索。 3. 對收集到的數(shù)據(jù)存入 MSSQL Server 2021 等關(guān)系型數(shù)據(jù)庫中、或者存入文本文件中。 本設(shè)計要實現(xiàn)的功能: 1. 能夠?qū)?Inter 上的網(wǎng)頁 內(nèi)容、標(biāo)題、鏈接等信息按鏈?zhǔn)绞占?。 由此可 見, Ajax 使得 Web 應(yīng)用更加動態(tài),帶來了更高的智能,并且提供 了表現(xiàn)能力豐富的 Ajax UI 組件。 3. 系統(tǒng) 僅由少量頁面組成。因此 Ajax 應(yīng)用與傳統(tǒng)的 Web 應(yīng) 用的區(qū)別主要在三個地方: 1. 不刷新整個頁面,在頁面內(nèi)與服務(wù)器通信。每個頁面上面都包括有一 些使用 JavaScript開發(fā) 的 Ajax 組件。 傳統(tǒng)的 web 應(yīng)用模型如 圖 2: 第 5 頁 共 19 頁 圖 2 Web應(yīng)用模型 與傳 統(tǒng)的 Web 開發(fā)不同 , Ajax 并不是以一種基于靜態(tài)頁面的方式來看待Web 應(yīng)用的。XMLHttpRequest 的出現(xiàn)為 Web 開發(fā)提供了一種全新的可能性,甚至整個改變了人們對于 Web 應(yīng)用由什么來組成的看法。簡而言之, XMLHttpRequest 為運行于瀏覽器中的JavaScript腳本提供了一種在頁面之內(nèi)與服務(wù)器通信的手段。后來這個技術(shù)被上述的規(guī)范命名為 XMLHttpRequest。包括: HTML 和 CSS, 使用文檔對象模型 DOM 作動態(tài)顯示和交互 , 使用 XML 做數(shù)據(jù)交互和操作 , 使用XMLHttpRequest 進行異步數(shù)據(jù)接收 , 使用 JavaScript 將它們綁定在一起 。 Ajax 技術(shù) Ajax 全稱為 “Asynchronous JavaScript and XML”(異步 JavaScript 和 XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。 對文檔建立好索引后,就可以在這些索引上面進行搜索了。這樣在用戶輸入查詢條件的時候,就能非??斓牡玫剿阉鹘Y(jié)果。 Lucene 采用的是一種稱為反向索引( inverted index)的機制。為什么索引這么重要呢,試想你現(xiàn)在要在大量的文檔中搜索含有某個關(guān)鍵詞的文檔,那么如果不建立索引的話你就需要把這些文檔順序的讀入內(nèi)存,然后檢查這個文章中是不是含有要查找的關(guān)鍵詞,這樣的話就會耗費非常多的時間,想想搜索引擎可是在毫秒級的時間內(nèi)查找出要搜索的結(jié)果的。不 規(guī) 定要索引的文檔的格式也使 Lucene 能夠適用于幾乎所有的搜索應(yīng)用程序。 Lucene 能夠 為文本類型的數(shù)據(jù)建立索引,所以你只要能把你要索引的數(shù)據(jù)格式轉(zhuǎn)化的文本的, Lucene 就能對你的文檔進行索引和搜索。 Lucene 與搜索引擎 Lucene 是一個全文信息檢索工具包,為應(yīng)用程序提供索引和搜索功能。最后,由頁面生成系統(tǒng)將搜索結(jié)果的鏈接地址和頁面內(nèi)容摘要等內(nèi)容組織起來返回給用戶。 然后 建立索引數(shù)據(jù)庫 , 由分析索引程序?qū)κ占貋淼木W(wǎng)頁進行分析,提取相關(guān)網(wǎng)頁信息(包括網(wǎng)頁所在 URL、編碼類型、頁面內(nèi)容包含的關(guān)鍵詞、關(guān)鍵詞位置、 生 成時間、大小、與其它網(wǎng)頁的鏈接關(guān)系等) ,然后用這些相關(guān)信息建立網(wǎng)頁索引數(shù)據(jù)庫。不同的搜索引擎,網(wǎng)頁索引數(shù)據(jù)庫不同 , 搜索結(jié)果也就不盡相同。網(wǎng)絡(luò)機器人或網(wǎng)絡(luò)蜘蛛采集的網(wǎng)頁,還要有其它程序進行分析,根據(jù)一定的相關(guān)度算法進行大量的計算建立網(wǎng)頁索引,才能添加到索引數(shù)據(jù)庫中。 全文搜索引擎的 “ 網(wǎng)絡(luò)蜘蛛 ” 能夠掃描一定地址范圍內(nèi)的網(wǎng)站,并沿著網(wǎng)絡(luò)上的鏈接從一個網(wǎng)頁到另一個網(wǎng)頁,從一個網(wǎng)站到另一個網(wǎng)站采集網(wǎng)頁資料。另外,在網(wǎng)上的一些導(dǎo)航站點,也可以歸屬為原始的分類目錄。 從搜索來源的角度,全文搜索引擎又可細分為兩種,一種是擁有自己的檢索程序( Indexer),俗稱 “ 蜘蛛 ”( Spider) 程序或 “ 機器人 ” ( Robot)程序,并自建網(wǎng)頁數(shù)據(jù)庫,搜索結(jié)果直接從自身的數(shù)據(jù)庫中調(diào)用;另一種則是租用其他引擎的數(shù)據(jù)庫,并按自定的格式排列搜索結(jié)果 。 按照工作原理的不同,可以把它們分為兩個基本類別:全文搜索和分類目錄。當(dāng)用戶查找某個關(guān)鍵詞的時候,所有在頁面內(nèi)容中包含了該關(guān)鍵詞的網(wǎng)頁都將作為搜索結(jié)果被搜出來。 2 構(gòu)建搜索 引擎原理 全文 搜索引擎 搜索引擎的分類 獲得網(wǎng)站網(wǎng)頁資料,能夠建立數(shù)據(jù)庫并提供查詢的系統(tǒng),我們都可以把它叫做搜索引擎。由于 Lucene不是完整的搜索引擎程序 , 只為搜索引擎應(yīng)用提供了工具包 , 在 平臺中,可使用 這個對 Lucene 兼容的庫 。通過 ,可以很方便的構(gòu)建起搜索引擎,本畢業(yè)設(shè)計除了考查使學(xué)生綜合運用以前所學(xué)知識的能力,同時也使學(xué)生了解當(dāng)今 搜索 及編程的一些新技術(shù),并模擬 簡單的 搜索 引擎開發(fā)。 這也意味著搜索不再是簡單的技術(shù)或者是網(wǎng)絡(luò)導(dǎo)航而已,而是會成為普通人生活中必備的工具之一。如何 將人類的知識和智能加入到檢索中,如何 使搜索引擎的質(zhì)量產(chǎn)生一個質(zhì)的飛躍 ,也是國內(nèi)搜索引擎努力的方向。 目前國內(nèi)外都在做中文引擎,門戶網(wǎng)站、非門戶網(wǎng)站也都在進軍搜索業(yè),成立搜索門戶 。 國內(nèi)比較著名的比如 百度 ,更專注對中文的處理。如果把這些海量搜索歷史記錄當(dāng)作是詞典的話,那么如果與搜索技術(shù)的結(jié)合發(fā)展成為低層次的只能搜索,那么應(yīng)用就將大大加強與廣泛。利用搜索技術(shù),加上經(jīng)驗主義發(fā)展出來的Google 翻譯機器人,在外語翻譯方面已經(jīng)比傳統(tǒng)的翻譯好很多了。 Google 專業(yè)領(lǐng)域搜索方面 做的成效是有目共睹 的 。 國內(nèi)外研究現(xiàn)狀 國 內(nèi) 外 對搜索引擎研究比較著名的 便 是 Google 了。 Lucene 是 Java世界中常用的索引 API,使用它提供的方法可以為文本資料創(chuàng)建索引,并提供檢索。 Lucene 目前是 Apache Jakarta 家族中的一個開源項目。 Ajax。s lives. Lucene is
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1