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

正文內(nèi)容

h20xx032115_基于ajaxlucene構(gòu)建搜索引擎的設(shè)計和實現(xiàn)-資料下載頁

2024-11-16 17:12本頁面

【導(dǎo)讀】分,Lucene是構(gòu)建搜索引擎的其中一種方式。搜索引擎系統(tǒng)是在.Net平臺上用。C#開發(fā)的,數(shù)據(jù)庫是MSSQLServer2020。主要完成的功能有:用爬蟲抓取網(wǎng)。頁;獲取有效信息放入數(shù)據(jù)庫;通過Lucene建立索引;對簡單關(guān)鍵字進(jìn)行搜索;使用Ajax的局部刷新頁面展示結(jié)果。同時講述了搜索引擎的原理,系統(tǒng)功能,并探討使用Ajax與服。務(wù)器進(jìn)行數(shù)據(jù)異步交互,從而改善現(xiàn)有的Web應(yīng)用模式。

  

【正文】 d(new ThreadStart(UrlThread))。 ()。 } } catch{} } 索引生成 這部分包含對文本的索引生成以及對數(shù)據(jù)庫數(shù)據(jù)的索引生成,下面只對數(shù) 據(jù)庫索引生成的關(guān)鍵代碼進(jìn)行介紹: 下面這段代碼實現(xiàn)對數(shù)據(jù)庫里存儲的記錄創(chuàng)建索引。主要通過 Lucene 提供 的方法來協(xié) 助實現(xiàn)。 public Indexer(string indexDir) { region Lucene Code 首先通過標(biāo)準(zhǔn)分詞定義了一個索引寫入器 IndexWriter writer = new IndexWriter(indexDir, new StandardAnalyzer(), true)。 在創(chuàng)建索引庫時,會合并多個 Segments 文件。此方式有助于減少索引文件 數(shù)量,減少同時打開的文件數(shù)量。 (false)。 //刪除以前生成的索引文件。 (iDexDir,true)。 endregion DateTime start = 。 DoIndexByDB(writer)。// DateTime end = 。 int docNum = ()。 (Index Finished. {0} Documents takes {1} second., docNum, ((TimeSpan)(end start)).TotalSeconds)。 ()。 ()。 } 使用 Lucene 提供的方法對數(shù)據(jù)庫中的每條記錄建立索引實現(xiàn)如下: 第 12 頁 共 19 頁 Document doc = new Document()。 (Indexing {0} , row[title].ToString())。 ((contents, row[content].ToString()))。 ((title, row[title].ToString()))。 ((mata,row[mata].ToString()))。 ((CreateDate,row[CreateDate].ToString()))。 ((Url,row[Url].ToString()))。 ((ID,row[ID].ToString()))。 (doc)。 頁面查詢 這部分主要完成的功能是獲取前臺表單中輸入的關(guān)鍵字,在程序中獲取查 詢結(jié)果,最后把列表顯示在前臺頁面。 Ajax 在此部分 中被使用到,它完成的功能是部分刷新頁面,不需整個頁面 的重新加載。為了方便的在程序中使用 Ajax,此系統(tǒng)引用了封裝完善的 Ajax 類庫。在程序中注冊后,在 html 里就可以使用 Javascript 來調(diào)用后臺的程序。 選取部分代碼來說明: 首先在頁面后臺程序中進(jìn)行 Ajax 注冊,代碼如下: private void Page_Load(object sender, e) { //ajax注冊 (typeof(Search))。 } 如 果 前 臺 Javascript 需 要 調(diào) 用 某 個 方 法 , 那 就 在 那 個 函 數(shù) 前 加 上 [],表示此方法屬于 ajax 應(yīng)用。 [] public string SearchResult(string keywords,string pageNo) { 其中,前臺所存在的文字的代碼如下 : StringBuilder sb = new StringBuilder()。 (trtd結(jié)果數(shù) :+result+ 所用時間 :+t+毫秒 /td/tr)。 前臺顯示結(jié)果記錄的代碼,動態(tài)生成 table 標(biāo)簽,如下: for(int i = startNum 。 i endNum。 i++) { 在顯示內(nèi)容中,仍然使用到了 Lucene 提供的類,可以方便的從所建立的索 引文檔中獲取網(wǎng)址,網(wǎng)頁標(biāo)題,內(nèi)容,時間。 Document doc = (i)。 content=(contents)。 content=(keywords,font color=red+keywords+/font)。 (tr class=+c+)。 (tda href=+(Url)++(title)+/a/td)。 第 13 頁 共 19 頁 (/tr)。 (tr class=+c+)。 (td+content+br+(CreateDate)+/td)。 (/tr)。 } } 6 測試 為了檢驗搜索引擎的基本功能是否實現(xiàn),過程是否出現(xiàn)錯誤,以及是否達(dá) 到了需求說明中所定義的需求, 測試結(jié)果介紹如下: 功能測試 第一步:確定數(shù)據(jù)庫中數(shù)據(jù)為空。運行 spider 爬蟲,抓取網(wǎng)頁。運行界面 及過程如圖 7: 圖 7 spider 第二步:運行 index 模塊,把數(shù)據(jù)庫中的記錄建立索引,運行界面及過程 如下: 如果存放索引的文件已經(jīng)存在,則會清除 當(dāng)數(shù)據(jù)庫里沒有記錄時,如圖 8: 圖 8 index1 有記錄時創(chuàng)建索引文件如圖 9: 第 14 頁 共 19 頁 圖 9 index2 第三步:運行 search web 模塊,從表單中進(jìn)行關(guān)鍵字搜索,此搜索結(jié)果數(shù) 據(jù)來源于前 2 步的操作,如圖 10。 圖 10 search1 當(dāng)在表單中輸入信息時,結(jié)果以列表形式顯示,其中關(guān)鍵字顯示為紅色, 網(wǎng)頁的 title 顯示為藍(lán)色,其他信息包括搜集信息時的日期,內(nèi)容。圖片顯示 如圖 11: 圖 11 search2 第 15 頁 共 19 頁 結(jié) 論 本課題主要探討了搜索引擎的原理,介紹了原理和過程,并給出了使用 Lucene 與 Ajax 實現(xiàn)的方法。該系統(tǒng)引入了當(dāng)前用于構(gòu)建搜索引擎的 Lucene 工 具包,在 .Net 環(huán)境下 ,充分利用 Lucene 所提供的工具,完成搜索引擎的基本功 能。 在論文中具體做了以下的實驗研究工作: 1. 2. 3. 對搜索引擎的原理進(jìn)行研究和探討。比較搜索引擎的實現(xiàn)方法,選擇適 用于 .Net 平臺的語言和相關(guān)技術(shù)。 在 Microsoft Visual Studio .NET 2020, MSSQL Server 2020 開發(fā)環(huán)境基礎(chǔ) 上構(gòu)建基于 Ajax 和 Lucene 的搜索引擎。 Ajax 技術(shù)解決了數(shù)據(jù)與服務(wù) 器的異步交互問題,在前臺不再出現(xiàn)整個頁面的重新加載。在 Lucene 工具包的協(xié)助下,完成了對數(shù)據(jù)庫里的記錄建立索引,查詢等功能。 用模塊的形式分步展示搜索引擎的原理。有效地驗證了使用 Lucene 構(gòu) 建搜索引擎的可行性。 本課題的創(chuàng)新之處在于在 . 平臺下,使用 Lucene 工具包完成搜索引擎的 基本功能,同時輔助 Ajax 技術(shù)優(yōu)化頁面體驗。但從總的情況看來,使用 Ajax 和 Lucene 構(gòu)建搜索引擎還有不完善的地方,系統(tǒng)還存在很多有待解決的問題,主 要的表現(xiàn)有以下幾個方面: 1. 2. 全世界對搜索引擎的研究一直不斷的深入,搜索引擎原理的每一步,從 數(shù)據(jù)庫到前臺頁面,都是可能要經(jīng)過十幾億數(shù)據(jù)的考驗,應(yīng)有很復(fù)雜的 算法來處理。比如爬蟲抓取十幾億網(wǎng)頁前后的程序處理。同時,搜索引 擎的速度,智能都需要很完善的優(yōu)化處理。在現(xiàn)有水平和條件的限制下, 本系統(tǒng)距離 商業(yè)應(yīng)用的研究水平還差較多。 當(dāng)前的搜索引擎對信息的搜索范圍已經(jīng)擴(kuò)大,比如跨行業(yè)檢索。相比之 下,本系統(tǒng)的檢索能力就很有限制。如果跨行業(yè)檢索所以對各個行業(yè)的 知識都應(yīng)該有所了解,這不僅要求技術(shù)的提高,而且要求具備相關(guān)行業(yè) 知識。 參考文獻(xiàn) [1] 李剛 ,宋偉,邱哲.征服 Ajax 和 Lucene 構(gòu)建搜索引擎 [M].北京:人民郵電出版社 ,2020。 [2] Christian Thilmany[美 ]. .NET 模式:架構(gòu)、設(shè)計與實現(xiàn) [M].張曉坤 ,湯濤 ,譚立平 [譯 ]. 北京 :人民郵電 出版社 ,2020。 [3] 吳財軍 .C#經(jīng)典范例 50 講 [M].北京 :北京希望電子出版社 ,2020。 [4] 鄭耀東 ,蔡騫 . 網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)實例精解 [M].北京 :清華大學(xué)出版社 ,2020。 第 16 頁 共 19 頁 [5] 方睿 ,刁仁宏 ,吳四九 .網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用 [M].成都 :四川大學(xué)出版社 ,2020。 [6] Krzysztof Cwalina, Brad Abrams[美 ]..NET 設(shè)計規(guī)范 [M].葛子昂 [譯 ].北京 :人民郵 電出版社 ,2020。 [7] Paul Nielsen[美 ].Microsoft SQL Server 2020 寶典 [M].劉瑞 ,陳微 ,閆繼忠 ,劉文 [譯 ]. 北京 :中國鐵道出版社 ,2020。 第 17 頁 共 19 頁
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1