【正文】
畢業(yè)設計(論文)基于Ajax+Lucene構建搜索引擎的設計與實現(xiàn)論文作者姓名:申請學位專業(yè):申請學位類別:指導教師姓名(職稱):論文提交日期:基于Ajax+Lucene構建搜索引擎的設計與實現(xiàn)摘 要通過搜索引擎從互聯(lián)網上獲取有用信息已經成為人們生活的重要組成部分,Lucene是構建搜索引擎的其中一種方式。開發(fā)的,數(shù)據(jù)庫是MSSQL Server 2000。主要完成的功能有:用爬蟲抓取網頁;獲取有效信息放入數(shù)據(jù)庫;通過Lucene建立索引;對簡單關鍵字進行搜索;使用Ajax的局部刷新頁面展示結果。論文詳細說明了系統(tǒng)開發(fā)的背景,開發(fā)環(huán)境,系統(tǒng)的需求分析,以及功能的設計與實現(xiàn)。同時講述了搜索引擎的原理,系統(tǒng)功能,并探討使用Ajax與服務器進行數(shù)據(jù)異步交互,從而改善現(xiàn)有的Web應用模式。關鍵詞:;異步更新;Ajax;搜索引擎The Design and Implementation for Constructing the Search Engine with Ajax and LuceneAbstractObtaining useful information from web by search engines has bee the important part of people39。s lives. Lucene is the way of constructing search engine. This system is based on the .Net platform using C. The database is MSSQL Server 2000. Main functions are grasping web pages with crawls, adding effective information to the database, establishing index with Lucene, searching through keywords, and displaying the results finally.This paper has showed the principle of search engine in the form of different modules, functions of this system, improving traditional web application model using Ajax. It shows explanation of the system’s background, development environment, system analysis of demanding, and functions of design.Key words: 。 Asynchronous update。 Ajax。 Search engines目 錄論文總頁數(shù):19頁1 引言 1 課題背景 1 國內外研究現(xiàn)狀 1 本課題研究的意義 1 本課題的研究方法 12 2 全文搜索引擎 2 搜索引擎的分類 2 搜索引擎的工作原理 2 Lucene與搜索引擎 3 索引和搜索 4 Ajax技術 43 需求分析 5 同步環(huán)境 5 6 性能需求 6 輸入輸出要求 7 運行需求 74 方案設計 7 搜索引擎模型 7 數(shù)據(jù)庫的設計 7 模塊設計 85 系統(tǒng)實現(xiàn) 10 開發(fā)環(huán)境 10 關鍵代碼詳解 10 代碼結構 10 爬蟲部分 11 12 136 測試 14 功能測試 14結 論 16參考文獻 17致 謝 18聲 明 191 引言 課題背景Lucene是一個基于Java的全文信息檢索工具包,它為應用程序提供索引和搜索功能。Lucene目前是Apache Jakarta家族中的一個開源項目。也是目前最為流行的基于Java開源全文檢索工具包。Lucene是Java世界中常用的索引API,使用它提供的方法可以為文本資料創(chuàng)建索引,并提供檢索。,主要目標傾向于和Java Lucene兼容:一個是索引格式兼容,達到可以共同工作的目的;一個是命名接近(只相差很少,比如大小寫等),目的是可以方便開發(fā)者使用Java Lucene相關的代碼和資料。 國內外研究現(xiàn)狀國內外對搜索引擎研究比較著名的便是Google了。無論搜索技術本身還是搜索范圍與深度,Google搜索總是所有搜索引擎的目標。Google專業(yè)領域搜索方面做的成效是有目共睹的。Google在低層次的智能搜索方面已經開始研究很多年了,實際的成果就是翻譯方面。利用搜索技術,加上經驗主義發(fā)展出來的Google翻譯機器人,在外語翻譯方面已經比傳統(tǒng)的翻譯好很多了。但是翻譯僅僅是學術方面的應用,更重要的是Google建立起來的海量搜索歷史記錄。如果把這些海量搜索歷史記錄當作是詞典的話,那么如果與搜索技術的結合發(fā)展成為低層次的只能搜索,那么應用就將大大加強與廣泛。國內,對搜索引擎的專注和對中文的理解能力也是中國本土搜索引擎行業(yè)獨特的競爭力。國內比較著名的比如百度,更專注對中文的處理。中文的意思多種多樣,是很難用程序處理的。目前國內外都在做中文引擎,門戶網站、非門戶網站也都在進軍搜索業(yè),成立搜索門戶。為了滿足用戶更深層次的需求,國內的搜索引擎也在不斷的完善自己。如何將人類的知識和智能加入到檢索中,如何使搜索引擎的質量產生一個質的飛躍,也是國內搜索引擎努力的方向。中國網民對智能化搜索需求也是顯而易見的。這也意味著搜索不再是簡單的技術或者是網絡導航而已,而是會成為普通人生活中必備的工具之一。 本課題研究的意義隨著計算機技術和互聯(lián)網技術的飛速發(fā)展,網絡上的信息量急劇增長,要在浩如煙海的網絡世界中尋找需要的信息,作為現(xiàn)代信息獲取技術的主要應用,那么搜索引擎是必不可少的。,可以很方便的構建起搜索引擎,本畢業(yè)設計除了考查使學生綜合運用以前所學知識的能力,同時也使學生了解當今搜索及編程的一些新技術,并模擬簡單的搜索引擎開發(fā)。 本課題的研究方法在本系統(tǒng)的開發(fā)過程中,首先分析了搜索引擎的相關功能,寫出需求分析;其次,綜合運用以前所學的相關知識(數(shù)據(jù)庫,C#等),選擇所熟悉的開發(fā)工具進行開發(fā)(本系統(tǒng)選擇了Microsoft Visual Studio .NET 2003作為開發(fā)平臺,開發(fā)語言選擇了C;數(shù)據(jù)庫采用Microsoft SQL Server 2000)。由于Lucene不是完整的搜索引擎程序,只為搜索引擎應用提供了工具包。,為文檔建立索引,關鍵詞搜索的功能,通過Ajax優(yōu)化系統(tǒng),完成頁面的局部刷新功能,給用戶好的體驗。2 全文搜索引擎 搜索引擎的分類獲得