論文元:搜索引擎查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
論文元:搜索引擎查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
論文元:搜索引擎查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
論文元:搜索引擎查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
論文元:搜索引擎查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、本科畢業(yè)設(shè)計(jì)題 目元搜索引擎-查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)學(xué) 院計(jì)算機(jī)學(xué)院專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)誠 信 承 諾我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文元搜索引擎-查詢結(jié)果合成處理模塊的設(shè)計(jì)與實(shí)現(xiàn)均系本人獨(dú)立完成,沒有抄襲行為,凡涉及其他作者的觀點(diǎn)和材料,均作了注釋,若有不實(shí),后果由本人承擔(dān)。 承諾人(簽名): 年 月 日摘要Internet已經(jīng)成為當(dāng)今和未來人們獲取資源和信息交流的主要場所。然而,在信息量浩如煙海的Internet上找到需要的信息,是一項(xiàng)極富挑戰(zhàn)性的工作。傳統(tǒng)的搜索引擎的發(fā)展,一方面使其實(shí)用性不斷加強(qiáng),部分解決了人們的信息搜索問題;另一方面,其自身的局限性,限制了人們對資源更有效的

2、獲取。因此要從Internet上獲取有價(jià)值的信息,就必須有一套高效的解決方案。元搜索引擎正是這種需求的產(chǎn)物:它利用現(xiàn)有的搜索引擎的查詢性能,將它們看成一個(gè)整體,為用戶體提供統(tǒng)一的查詢界面與返回結(jié)果。本文首先概述了搜索引擎的工作原理和現(xiàn)狀,分析了現(xiàn)有傳統(tǒng)搜索引擎的不足,提出未來搜索引擎的研究方向和引入元搜索引擎的必要性;其次概述了元搜索引擎的原理和現(xiàn)狀,分析了當(dāng)前研究元搜索引擎的難點(diǎn)所在,并提出改進(jìn)方案;接著分析了有關(guān)元搜索引擎技術(shù)的相關(guān)算法,重點(diǎn)實(shí)現(xiàn)了輪轉(zhuǎn)法查詢結(jié)果合成處理,查詢結(jié)果排序的算法實(shí)現(xiàn)。關(guān)鍵詞: 元搜索引擎;查詢結(jié)果合成處理;查詢結(jié)果排序ABSTRACTThe Internet h

3、as already become the main place to gain and exchange information at present and in the future. However, it is an extremely challenging work to find the satisfied information in a great deal of information on the Internet. The development of the existing traditional search engine, on one hand streng

4、thened its practicability constantly and solved the information search issue partly; on the other hand, it restricted people to obtain the more effective resources,because of its own limitations. It is necessary to design a series of highly effective solutions for obtaining valuable information from

5、 the Internet. The metasearch engine is the exactly technique that can meet the needs, which adopts the query ability of these existing search engines, and regards them as a unity, and provids users with an uniform interface and the returning.In this paper, the search engine principles and its curre

6、nt development status were firstly discussed, and the disadvantages of existing traditional search engines were also analyzed. Based on the preceding analysis, we have proposed the future research directions and analyzed the necessity of introducing metasearch engine. Secondly,the metasearch engine

7、principles and its current development status were summarized, and the difficulties of research about the current metasearch engines were pointed out. Moreover we have given some methods for improvement. Then some key algorithms of metasearch engine were discussed,focused on imlemention of round rob

8、in result merging and result sorting algorithms.Keywords: meta-search engine; result merging; result sorting目 錄1 引言 -12 元搜引擎概述 -22.1 搜索引擎概述 -22.2 獨(dú)立搜索引擎面臨的問題 -3 2.2.1 信息覆蓋率 -3 2.2.2 搜索精度 -4 2.2.3 信息的時(shí)效性 -5 2.2.4 網(wǎng)絡(luò)機(jī)器人的限制 -52.3 元搜索引擎的產(chǎn)生與發(fā)展 -52.4 元搜索引擎的基本原理 -62.5 元搜索引擎的現(xiàn)狀 -73 系統(tǒng)設(shè)計(jì)相關(guān)技術(shù) -8 3.1 ASP.NET技術(shù)

9、介紹 -83.2 Sql Server -11 3.2.1 SQL的優(yōu)點(diǎn) -11 3.2.2 SQL的使用 -124 元搜索引擎的查詢結(jié)果合成 -15 4.1 結(jié)果排序算法 -15 4.1.1 相似度轉(zhuǎn)化法 -15 4.1.2 相似度估算法 -164.2 查詢結(jié)果去重-175 系統(tǒng)總體設(shè)計(jì) -18 5.1 運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu) -185.2 系統(tǒng)工作流程圖 -185.3 系統(tǒng)的基本模塊功能 -205.4 面臨的主要問題 -206 系統(tǒng)實(shí)現(xiàn) -206.1 數(shù)據(jù)庫設(shè)計(jì) -216.2 界面設(shè)計(jì) -216.3 排序算法設(shè)計(jì) -23 6.4 去重算法設(shè)計(jì)實(shí)現(xiàn) -306.5 分頁實(shí)現(xiàn) -316.6 結(jié)果合成

10、實(shí)現(xiàn)分析 -327 結(jié)論 -34致謝 -35參考文獻(xiàn) -361 引 言現(xiàn)在網(wǎng)上信息資源已經(jīng)成為一個(gè)龐大數(shù)據(jù)源。數(shù)百萬人在經(jīng)常使用互聯(lián)網(wǎng)并且人數(shù)在迅速增加. 在網(wǎng)上及時(shí)找到想要的資料并符合成本效益的方式是一個(gè)引起廣泛興趣的問題. 在過去幾年中,已產(chǎn)生了許多搜索引擎幫助網(wǎng)民找到想要的資料. 但是,單個(gè)搜索引擎的索引和處理能力的提高趕不上Web 數(shù)據(jù)的快速增長,結(jié)果是任何單個(gè)搜索引擎只能索引Web 的一部分文檔,用戶需要的文檔分布在許多搜索引擎的文檔數(shù)據(jù) 庫中。這就使單個(gè)搜索引擎滿足不了用戶的需求。之所以要開發(fā)元搜索引擎,主要的理由是:1 Web 數(shù)據(jù)量太大,而且增長迅猛,單個(gè)引擎的容量,處理能力難

11、以擴(kuò)展到很大的規(guī)模,所以每個(gè)引擎只能包含一部分Web 文檔。元搜索能夠分散處理負(fù)載,增加檢索的范圍。2 元搜索具有較好的擴(kuò)展性,可以加入多個(gè)成員引擎。它使得各個(gè)成員引擎規(guī)模變小,性能更好,這樣成員引擎的檢索響應(yīng)時(shí)間短,還可以使得檢索的內(nèi)容保持最新。3 有些web 站點(diǎn)的內(nèi)容不能用數(shù)據(jù)采集器抓取,只有用該站點(diǎn)提供的API 訪問。4 檢索更有效,用戶為了找到滿意的檢索結(jié)果可能訪問多個(gè)搜索引擎,直到找到結(jié)果位置,而元搜索引擎可以幫助用戶自動(dòng)完成這個(gè)任務(wù)。元搜索引擎可以讓需要訪問多個(gè)獨(dú)立搜索引擎的查詢一次完成,極大提高了檢索效率,信息的覆蓋率,信息的查準(zhǔn)率 ,節(jié)省了用戶的時(shí)間。正是基于以上的原因,選擇

12、了元搜索引擎系統(tǒng)作為自己的畢業(yè)設(shè)計(jì)題目。該系統(tǒng)主要分為三個(gè)模塊:分發(fā)查詢模塊,結(jié)果合成模塊,收藏搜索模塊。本人負(fù)責(zé)結(jié)果合成模塊的實(shí)現(xiàn)。論文一共分為6章。第一章概述一下搜索引擎的概念,現(xiàn)狀及獨(dú)立搜索引擎面臨的問題,有此引出論文要講述的元搜索引擎,并簡單描述元搜索引擎的基本原理,現(xiàn)狀及發(fā)展。第三章為系統(tǒng)設(shè)計(jì)相關(guān)原理,建樹實(shí)現(xiàn)該系統(tǒng)所用到的技術(shù),簡單介紹了ASP.NET及SqlServer技術(shù),講述了數(shù)據(jù)庫連接技術(shù)。第四章重點(diǎn)討論了現(xiàn)有的結(jié)果合成算法的實(shí)現(xiàn)。第五章為系統(tǒng)總體設(shè)計(jì),描述了實(shí)現(xiàn)系統(tǒng)需實(shí)現(xiàn)的模塊及每個(gè)模塊需實(shí)現(xiàn)的具體功能。第六章講述如何具體實(shí)現(xiàn)該系統(tǒng)。第七章總結(jié)前面的內(nèi)容,系統(tǒng)實(shí)現(xiàn)的完成情

13、況。2 元搜索引擎概述2.1 搜索引擎概述Internet自誕生以來不斷成長,其內(nèi)容不斷豐富,整個(gè)網(wǎng)絡(luò)逐漸堆積成一個(gè)前所未有的超大型信息庫。Internet作為一個(gè)信息平臺在人們的日常生活和工作中發(fā)揮著越來越重要的作用,人們越來越多地通過Internet獲取信息。在互聯(lián)網(wǎng)發(fā)展初期,網(wǎng)站相對較少,網(wǎng)頁數(shù)量亦較少,因而信息查找比較容易。然而伴隨互聯(lián)網(wǎng)爆炸性的發(fā)展,普通網(wǎng)絡(luò)用戶想找到所需的資料簡直如同大海撈針,以至于迷失在信息的海洋中不知所措,出現(xiàn)了我們所說的"信息豐富,知識貧乏"的奇怪現(xiàn)象。搜索引擎正是為了解決這個(gè)"迷航"問題而出現(xiàn)的技術(shù)。搜索引擎(Sear

14、ch Engine簡稱SE)是一個(gè)信息處理系統(tǒng),它以一定的策略在互聯(lián)網(wǎng)中搜集、發(fā)現(xiàn)信息,對信息進(jìn)行理解、提取、組織和處理,并為用戶提供檢索服務(wù),從而起到信息導(dǎo)航的目的,一般包括信息搜集、信息整理和用戶查詢?nèi)糠帧挠脩舻慕嵌葋砜矗褪且粋€(gè)幫助人們進(jìn)行信息檢索的工具。現(xiàn)代意義上的搜索引擎的祖先,是1990年由美國蒙特利爾大學(xué)的學(xué)生 Alan Emtage等人發(fā)明的Archie。Archie是第一個(gè)自動(dòng)索引互聯(lián)網(wǎng)上匿名FTP網(wǎng)站文件的程序,但它還不是真正的搜索引擎。Archie是一個(gè)可搜索的FTP文件名列表,用戶必須輸入精確的文件名搜索,然后Archie會(huì)告訴用戶哪一個(gè)FTP地址可以下載該文件。

15、由于專門用于檢索信息的Robot程序像蜘蛛(spider)一樣在網(wǎng)絡(luò)間爬來爬去,因此,搜索引擎的Robot程序被稱為spider(Spider FAQ)程序。世界上第一個(gè)Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用于追蹤互聯(lián)網(wǎng)發(fā)展規(guī)模。剛開始它只用來統(tǒng)計(jì)互聯(lián)網(wǎng)上的服務(wù)器數(shù)量,后來則發(fā)展為也能夠捕獲網(wǎng)址(URL)。真正意義上的搜索引擎出現(xiàn)于1994年7月。當(dāng)時(shí)Michael Mauldin將John Leavitt的蜘蛛程序接入到其索引程序中,創(chuàng)建了大家現(xiàn)在熟知的Lycos。同年4月,Stanford大學(xué)的兩名博士生,David Fil

16、o和美籍華人楊致遠(yuǎn)(Jerry Yang)共同創(chuàng)辦了超級目錄索引Yahoo,并成功地使搜索引擎的概念深入人心,Yahoo也被稱為第一代搜索引擎。從此搜索引擎的發(fā)展也進(jìn)入了黃金時(shí)代。1998年9月,同樣是Stanford大學(xué)兩位博士生Larry Page和Sergey Brin在風(fēng)險(xiǎn)投資公司的資助下,成功開發(fā)了新一代搜索引擎Google。它具有比Yahoo先前使用的技術(shù)更快、更準(zhǔn)確搜索到所需信息的特點(diǎn),被視為第二代搜索引擎的代表。現(xiàn)在Internet 上已有數(shù)千個(gè)能提供檢索服務(wù)的站點(diǎn),這些站點(diǎn)的搜索引擎在收錄的范圍、內(nèi)容、檢索方法上都各有不同,采用的技術(shù)也各具特色。比較著名的Google,Yah

17、oo,AltaVista,Dogpile,百度等。目前,搜索引擎的研究、開發(fā)十分活躍,各大搜索引擎公司都在投巨資研制搜索引擎系統(tǒng),同時(shí)也不斷地涌現(xiàn)出新的具有鮮明特色的搜索引擎產(chǎn)品,搜索引擎已經(jīng)成為信息領(lǐng)域的產(chǎn)業(yè)之一。它要用到了信息檢索、人工智能、數(shù)據(jù)庫、數(shù)據(jù)挖掘、自然語言理解等領(lǐng)域的理論和技術(shù),具有綜合性和挑戰(zhàn)性。又由于搜索引擎有大量的用戶,由此衍射出許多商機(jī),具有很好的經(jīng)濟(jì)價(jià)值。根據(jù)iResearch艾瑞市場咨詢2003年中國搜索引擎研究報(bào)告的研究數(shù)據(jù)顯示,中國的搜索引擎市場2003年達(dá)到了5.2億元人民幣,比2002年的2.3億一年增長了127%,顯示了搜索引擎市場的強(qiáng)勁增長;雅虎表示未來

18、5年全球搜索市場將由今年的30億美元增長至110億美元。搜索引擎作為連接互聯(lián)網(wǎng)的一座橋梁,越來越受到人們的重視,亦引起了世界各國計(jì)算機(jī)科學(xué)界、信息產(chǎn)業(yè)界和商界的高度關(guān)注,已投入了不少的人力、物力,也取得了不俗的成績。2.2 獨(dú)立搜索引擎面臨的問題在信息時(shí)代,網(wǎng)絡(luò)信息膨脹的速度遠(yuǎn)遠(yuǎn)超過了搜索引擎檢索范圍的擴(kuò)張速度。在這樣的背景下,獨(dú)立搜索引擎在發(fā)展的過程中難以避免地出現(xiàn)了信息覆蓋率低下以及網(wǎng)頁數(shù)據(jù)庫信息難以及時(shí)更新維護(hù)等瓶頸,定位于解決獨(dú)立搜索引擎的不足,元搜索引擎誕生于上世紀(jì)90年代中期,元搜索引擎的出現(xiàn)在一定程度上緩解了獨(dú)立搜索引擎發(fā)展所面臨的困境。2.2.1 信息覆蓋率用戶都希望只使用一個(gè)

19、搜索引擎就能夠訪問到網(wǎng)絡(luò)上所有的信息,而不用為得到更為全面的檢索結(jié)果在不同的搜索引擎之間切換。但在信息時(shí)代,信息膨脹的速度遠(yuǎn)遠(yuǎn)超過了搜索引擎檢索范圍的擴(kuò)張速度。表2-1 顯示的是2002年2月25-28日期間對幾個(gè)主要的搜索引擎1050條查詢返回結(jié)果的信息覆蓋率和有效信息覆蓋率的統(tǒng)計(jì)。從該表中可以看出最好的搜索引擎對于有效信息的覆蓋率也只有16%,隨著互聯(lián)網(wǎng)的飛速發(fā)展這個(gè)問題將變得越來越突出,這基本上便是元搜索引擎產(chǎn)生的初衷。從理論上講,元搜索引擎能從根本上解決獨(dú)立搜索引擎信息覆蓋率低的問題。元搜索引擎由于其可以同時(shí)調(diào)用多個(gè)獨(dú)立搜索引擎以及能夠處理、利用獨(dú)立搜索引擎返回的結(jié)果,所以人們把對更大

20、范圍網(wǎng)絡(luò)資源進(jìn)行檢索的期望落在元搜索引擎上。表2-1 對一些主要搜索引擎信息覆蓋率的統(tǒng)計(jì)搜索引擎信息覆蓋率有效信息覆蓋率Northern Light38.316.0Snap37.115.5AltaVista37.115.5HotBot27.111.3Microsoft20.38.5Infoseek19.28.0Google18.67.8Yahoo17.67.4Excite13.55.6單個(gè)搜索引擎的搜索能力將受到其覆蓋網(wǎng)頁的數(shù)量的限制。那些不能建立索引的Web網(wǎng)頁(有時(shí)也稱為“隱藏Web" ,“深度Web" ,“不可見Web")大概有五千億張,這個(gè)數(shù)量據(jù)估計(jì)是當(dāng)前

21、搜索引擎數(shù)據(jù)庫所能夠記錄的網(wǎng)頁數(shù)量的500多倍,工nternet的巨大容量和Web網(wǎng)頁快速變化的內(nèi)容是導(dǎo)致許多搜索失敗的主要原因。圖2-1 使用Google搜索“浙江大學(xué)”得到的結(jié)果2.2.2 搜索精度獨(dú)立搜索引擎返回的大量查詢結(jié)果中有相當(dāng)比例相關(guān)性不高。雖然所有的搜索引擎都會(huì)根據(jù)查詢結(jié)果和查詢字符字符串的相關(guān)性高低來對查詢結(jié)果進(jìn)行序,但這些排序算法通常都是建立在向量空間模型(Vector Space Model),概率模型(Probability Model),模糊邏輯模型(Fuzzy Logical Model)等信息查詢模型的基礎(chǔ)上的,這些信息查詢模型根據(jù)文檔中查詢字符串關(guān)鍵字的出現(xiàn)次數(shù)

22、來決定返回結(jié)果和查詢字符串相似程度,然而查詢字符串關(guān)鍵字的出現(xiàn)次數(shù)只能大概的反應(yīng)出查詢結(jié)果和查詢字符串的相關(guān)程度,關(guān)鍵字出現(xiàn)頻率高并不一定意味著對應(yīng)的查詢結(jié)果相關(guān)性就高。而且各獨(dú)立搜索引擎在通常情況下更注重的是如何盡可能快得處理用戶的查詢請求,所以會(huì)傾向于使用相對簡單的排序算法。所有這些都有可能導(dǎo)致查詢結(jié)果的準(zhǔn)確性不高以及對于查詢結(jié)果排序的不合理。圖2-1顯示了使用Google搜索“浙江大學(xué)”得到的查詢結(jié)果,請注意圖中標(biāo)示出的第六條和第八條結(jié)果:第六條查詢結(jié)果實(shí)際上是浙江工業(yè)大學(xué)主頁的鏈接;而第八條查詢結(jié)果僅僅是因?yàn)樵撴溄拥膗rl和浙江大學(xué)主頁比較相似就被排在了第一頁。這樣的查詢結(jié)果顯然是很難

23、令人滿意的。2.2.3 信息的有效性隨著搜索引擎的搜索范圍不斷擴(kuò)大和數(shù)據(jù)庫體積的日益膨脹,網(wǎng)頁數(shù)據(jù)庫的維護(hù)及更新難度越來越大,目前大多數(shù)的搜索引擎只能采用循環(huán)更新的方式對部分索引進(jìn)行頁面重訪和索引重建。網(wǎng)頁數(shù)據(jù)庫中的內(nèi)容越多,循環(huán)更新一次所需的時(shí)間就越長,也就會(huì)有更大比例的索引信息處于“無效”狀態(tài)。2.2.4 網(wǎng)絡(luò)機(jī)器人的限制網(wǎng)絡(luò)機(jī)器人是搜索引擎獲取信息的主要工具。由于每個(gè)機(jī)器人線程都要消耗一定的本地資源,因此并行的機(jī)器人數(shù)量就會(huì)受到限制。機(jī)器人要在很短的時(shí)間里對Web服務(wù)器進(jìn)行頻繁訪問,而服務(wù)器在一定時(shí)間內(nèi)可以響應(yīng)的請求數(shù)目是有限的,因此機(jī)器人獲取頁面的速度也是有限制的。其次,機(jī)器人爬行過程

24、中還會(huì)因?yàn)闊o效鏈接或者相對鏈接組合有誤等原因訪問不到一些頁面。此外,機(jī)器人在對Web站點(diǎn)搜索的時(shí)候,還應(yīng)該遵守機(jī)器人排斥標(biāo)準(zhǔn)(Standard of Robots Exclusion)。該標(biāo)準(zhǔn)是1994年由一些機(jī)器人作者和熱衷者指定的標(biāo)準(zhǔn),規(guī)定了機(jī)器人爬行Web站點(diǎn)時(shí)應(yīng)該遵循的規(guī)則。以上這些因素都會(huì)使機(jī)器人的信息獲取能力受到一定程度的限制。2.3 元搜索引擎的產(chǎn)生與發(fā)展當(dāng)用戶在網(wǎng)上查找信息的時(shí)候,往往是使用一個(gè)檢索詞在多個(gè)搜索引擎中重復(fù)查找,以此來彌補(bǔ)各個(gè)獨(dú)立搜索引擎的信息覆蓋率不高的缺陷。雖然這樣的工作完全可以由用戶自己完成,但用戶顯然更希望能夠只進(jìn)行一次查詢就可以獲得多個(gè)搜索引擎的查詢結(jié)果

25、,而不是枯燥繁瑣的重復(fù)勞動(dòng),這就是元搜索引擎產(chǎn)生的最主要原因。它可以讓需要訪問多個(gè)獨(dú)立搜索引擎的查詢一次完成,極大提高了檢索效率,節(jié)省了用戶的時(shí)間。目前元搜索引擎發(fā)展勢頭非常迅猛,僅在Yahoo的“All-in-One Search”列表中就收錄了超過125個(gè)元搜索引擎。目前國外主要的元搜索引有: Metacrawler, Profusion,Savvysearch,Mamma等,而國內(nèi)的元搜索引擎則較少。此外中文元搜索引擎在檢索功能、檢索結(jié)果的排序、運(yùn)行速度等方面較國外元搜索引擎尚有一定的差距。國外元搜索引擎一般都有較高的查全率和查準(zhǔn)率,但是對中文網(wǎng)頁的覆蓋率并不是很高,因而在查準(zhǔn)率上也受到

26、很大的限制。影響這些搜索引擎查準(zhǔn)率的另一個(gè)因素是國內(nèi)的許多網(wǎng)頁制作和維護(hù)不規(guī)范,時(shí)常有無用鏈接,像Google這類使用鏈接數(shù)來確定網(wǎng)頁優(yōu)先級的搜索引擎往往得不到很有用的結(jié)果。目前中文元搜索引擎一般都采用簡單的位置排序算法,通過提取搜索引擎返回結(jié)果的位置信息進(jìn)行排序,沒有充分利用這些搜索引擎所包含的其它信息,很難找到有用的信息,但是剔重效果不錯(cuò),基本上消除了重復(fù)項(xiàng)。由于元搜索引擎需要在記錄的相關(guān)信息較少的情況下進(jìn)行排序工作,因此元搜索引擎雖然能夠增加搜索的范圍,但是其性能也受到了一定的限制。2.4 元搜索引擎的基本原理圖2-2為元搜索引擎的原理圖。元搜索引擎是針對單個(gè)搜索引擎收集信息不全面即召回

27、率低的缺點(diǎn)而設(shè)計(jì)的,通過元搜索引擎來減少人工切換搜索引擎,以達(dá)到優(yōu)化查詢目的,圖 21是元搜索引擎的原理示意圖,其過程表述如下:用戶查詢處理過程:與其它搜索引擎一樣,元搜索引擎提供人機(jī)接口查詢界面,不同的是元搜索引擎需要針對各基本搜索引擎設(shè)定相應(yīng)的搜索格式,并允許用戶選擇是否調(diào)用基本元搜索引擎。元搜索引擎調(diào)用基本搜索引擎網(wǎng)頁結(jié)果過程:這階段,元搜索引擎必須并行調(diào)用基本搜索引擎,沒有并行調(diào)用基本搜索引擎,將會(huì)造成檢索時(shí)間變長的后果,削弱元搜索引擎的優(yōu)勢。元搜索引擎信息融合階段:對不同基本搜索引擎的結(jié)果,有些網(wǎng)頁實(shí)際無法正常連接,有些是重復(fù)的,有些網(wǎng)頁不是重復(fù)但屬于同網(wǎng)站內(nèi)容相關(guān)性較大的,故需要進(jìn)

28、行網(wǎng)頁連接檢測、消除重復(fù)網(wǎng)址等處理流程,并根據(jù)相關(guān)度算法進(jìn)行計(jì)算,存到數(shù)據(jù)庫中;元搜索引擎結(jié)果顯示階段:根據(jù)相關(guān)度計(jì)算結(jié)果,顯示倒排結(jié)果,并同時(shí)顯示內(nèi)容摘要,以及對應(yīng)的基本搜索引擎名稱等信息;基本搜索引擎與元摸索引擎在搜索評價(jià)指標(biāo)是一樣的,其主要區(qū)別在于基本搜索引擎擁有獨(dú)立的網(wǎng)頁信息源和相應(yīng)的數(shù)據(jù)庫,而元搜索引擎一般沒有自己獨(dú)立的數(shù)據(jù)庫,卻更多地是提供統(tǒng)一人機(jī)查詢界面,形成一個(gè)由多個(gè)分布的、具有獨(dú)立功能的搜索引擎構(gòu)成的虛擬整體,用戶通過元搜索引擎實(shí)現(xiàn)對各基本搜索引擎查詢操作。元搜索引擎所調(diào)用的搜索引擎被稱為“基本搜索引擎”,它們各自保持原來的檢索指令;元搜索引擎給出一個(gè)統(tǒng)一人機(jī)界面,接受用戶查

29、詢需求和反饋查詢結(jié)果。2.5元搜索引擎的現(xiàn)狀目前運(yùn)營的元搜索引擎各具特色,功能各有側(cè)重,完全“理想”的尚不多見。一些元搜索引擎在某些方面較為優(yōu)秀,而其它功能則欠缺或需改進(jìn):如大多元搜索引擎不支持多語種,尤其是漢語檢索;一些元搜索引擎實(shí)現(xiàn)檢索語法轉(zhuǎn)換的能力有限,不支持指定字段檢索,不能充分發(fā)揮各個(gè)獨(dú)立搜索引擎的高級檢索功能;部分元搜索引擎無源搜索引擎列表,用戶不能自主選擇和調(diào)用源搜索引擎;大部分元搜索引擎僅支持調(diào)用AltaVista、Excite、GoTocom、Yahoo、Infoseek、Lycos等常用的搜索引擎,一些大型搜索引擎如NorthernLight、HotBot等被排除在外,人為

30、地限制了搜索資源的利用;在檢索結(jié)果上,元搜索引擎只能返回十幾、數(shù)十條“相關(guān)度”較高的結(jié)果,大量可能有價(jià)值的源搜索引擎的檢索結(jié)果被忽視,影響檢索結(jié)果的全面性。元搜索引擎的功能受著源搜索引擎和元搜索技術(shù)的雙重制約:一方面,源搜索引擎的各具特色的強(qiáng)大功能在元搜索引擎中受到限制而不能充分體現(xiàn),而另一方面,任何一種元搜索技術(shù)都不能發(fā)掘和利用源搜索引擎的全部功能。盡管元搜索引擎存在著這樣那樣的功能局限,但其以含蓋較多的搜索資源,能夠在盡可能短的時(shí)間內(nèi)提供相對全面、準(zhǔn)確的檢索結(jié)果等諸多優(yōu)異功能受到用戶的青睞,已漸成為一種不可或缺的極具潛力的網(wǎng)絡(luò)檢索工具。現(xiàn)今英文的搜索引擎比較多,并且涵蓋范圍較廣,目前中文元

31、搜索引擎的發(fā)展還比較慢。INTERNET網(wǎng)頁外部搜索引擎1外部搜索引擎2外部搜索引擎3機(jī)器人(元搜索)引擎查詢處理接口用戶查詢需求索引數(shù)據(jù)庫網(wǎng)頁數(shù)據(jù)庫關(guān)鍵字?jǐn)?shù)據(jù)庫圖2-2元搜索引擎原理圖3 系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)該系統(tǒng)主要采用ASP.NET、HTML、SQLserver數(shù)據(jù)庫,整體設(shè)計(jì)遵循軟件工程的方法,經(jīng)過需求分析、總體設(shè)計(jì)、文檔和代碼的編制、模塊測試和系統(tǒng)實(shí)現(xiàn)幾個(gè)階段。下面就對這幾種技術(shù)和方法做一個(gè)概述。3.1 ASP.NET技術(shù)介紹ASP.NET 不僅僅是 Active Server Page (ASP) 的下一個(gè)版本;它還提供了一個(gè)統(tǒng)一的 Web 開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級 Web

32、 應(yīng)用程序所需的各種服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。可以通過在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功能,隨時(shí)增強(qiáng) ASP 應(yīng)用程序的功能。ASP.NET 是一個(gè)已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個(gè) .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語言

33、運(yùn)行庫環(huán)境、類型安全、繼承等等。ASP.NET可以無縫地與WYSIWYG HTML編輯器和其他編程工具一起工作。這不僅使得Web開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開發(fā)人員可以用來將服務(wù)器控件拖放到Web頁的GUI和完全集成的調(diào)試支持。當(dāng)創(chuàng)建ASP.NET應(yīng)用程序時(shí),開發(fā)人員可以使用Web窗體或XML Web services,或以他們認(rèn)為合適的任何方式進(jìn)行組合。每個(gè)功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗(yàn)證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對應(yīng)用程序的配置進(jìn)行自定義,這里只是列出幾種可能性而已。 使用Web窗體可以生成功能強(qiáng)大的基于窗體的Web頁。生成這些頁時(shí),可以使

34、用ASP.NET服務(wù)器控件來創(chuàng)建公共UI元素,以及對它們進(jìn)行編程以用于執(zhí)行常見的任務(wù)。這些控件使您能夠用可重復(fù)使用的內(nèi)置或自定義組件生成Web窗體,從而簡化頁面的代碼。XML Web services提供了遠(yuǎn)程訪問服務(wù)器功能的途徑。使用XML Web services,企業(yè)可以公開數(shù)據(jù)或業(yè)務(wù)邏輯的編程接口,而客戶端和服務(wù)器應(yīng)用程序則可以獲取和操作這些編程接口。通過使用諸如HTTP和XML消息傳遞之類的標(biāo)準(zhǔn)跨越防火墻移動(dòng)數(shù)據(jù),XML Web services可在客戶端-服務(wù)器或服務(wù)器-服務(wù)器方案下實(shí)現(xiàn)數(shù)據(jù)的交換。XML Web services不用依靠特定的組件技術(shù)或?qū)ο笳{(diào)用約定。因此,用任何語

35、言編寫、使用任何組件模型并在任何操作系統(tǒng)上運(yùn)行的程序,都可以訪問XML Web services。有關(guān)更多信息。 這些模型中的每一個(gè)模型都可以充分利用所有ASP.NET功能,以及.NET Framework和.NET Framework 公共語言運(yùn)行庫的強(qiáng)大功能。這些功能以及使用它們的方法概述如下: 如果您具有ASP開發(fā)技能,則新的ASP.NET編程模型對您來說將會(huì)是非常熟悉的。不過,與ASP相比,ASP.NET對象模型變化顯著,它更為結(jié)構(gòu)化并且面向?qū)ο蟆5@也意味著ASP.NET不是完全向后兼容的;幾乎所有現(xiàn)有的ASP頁都必須經(jīng)過一定程度的修改后才可以在ASP.NET下運(yùn)行。此外,對VB.N

36、ET 的一些主要更改也意味著,用Visual Basic Scripting版本編寫的現(xiàn)有ASP頁通常將不會(huì)直接移植到ASP.NET中。不過,在大多數(shù)情況下,只需對少數(shù)幾行代碼進(jìn)行必要的修改。有關(guān)更多信息,請參見將ASP頁遷移到ASP.NET。 從ASP.NET應(yīng)用程序訪問數(shù)據(jù)庫是向 Web 站點(diǎn)訪問者顯示數(shù)據(jù)的常用技術(shù)。ASP.NET使得為此目的而對數(shù)據(jù)庫的訪問比以往更加方便。它還使您能夠從您的代碼管理數(shù)據(jù)庫。ASP.NET提供一種簡單的模型,該模型使Web開發(fā)人員能夠編寫在應(yīng)用程序級運(yùn)行的邏輯。開發(fā)人員可以在Global.asax文本文件中或在作為程序集部署的已編譯類中編寫這種代碼。這種邏

37、輯可以包括應(yīng)用程序級事件,但開發(fā)人員可以輕松地?cái)U(kuò)展這種模型,以適應(yīng)他們的 Web 應(yīng)用程序的需要。ASP.NET提供易用的應(yīng)用程序和會(huì)話狀態(tài)功能,它們對于ASP開發(fā)人員來說是熟悉的,且容易與所有其他 .NET Framework API兼容。對于需要使用像 ISAPI 編程接口(隨附于以前的ASP版本中)那樣功能強(qiáng)大的 API 的高級開發(fā)人員,ASP.NET 提供了IHttpHandler 和IHttpModule接口。實(shí)現(xiàn)IHttpHandler接口,給您提供了一種與IIS Web服務(wù)器的低級別請求和響應(yīng)服務(wù)交互的手段,并提供與ISAPI擴(kuò)展非常類似的功能,但編程模型卻較為簡單。實(shí)現(xiàn)IHtt

38、pModule接口使您可以包含參與對應(yīng)用程序發(fā)出的每個(gè)請求的自定義事件。 ASP.NET 利用.NET Framework 和公共語言運(yùn)行庫中的性能增強(qiáng)功能。另外,它還可以提供相對于ASP和其他Web開發(fā)平臺來說顯著的性能改進(jìn)。所有 ASP.NET 代碼都是編譯的,而不是解釋的,這就允許對本機(jī)代碼采用早期綁定,強(qiáng)類型處理,以及實(shí)時(shí) (JIT) 編譯,這里只列舉幾個(gè)優(yōu)點(diǎn)而已。ASP.NET還可方便地分解,即開發(fā)人員可以移除那些與他們開發(fā)的應(yīng)用程序不相關(guān)的模塊(例如,會(huì)話模塊)。ASP.NET還提供豐富的緩存服務(wù)(包括內(nèi)置服務(wù)和緩存API兩種)。ASP.NET 還提供性能計(jì)數(shù)器,開發(fā)人員和系統(tǒng)管理

39、員可以監(jiān)視這些性能計(jì)數(shù)器,以測試新的應(yīng)用程序和搜集有關(guān)現(xiàn)有應(yīng)用程序的度量標(biāo)準(zhǔn)。在Web頁中編寫自定義調(diào)試語句,對排除應(yīng)用程序代碼中的錯(cuò)誤非常有幫助。但是,如果不移除它們,則會(huì)帶來麻煩。問題是,在應(yīng)用程序準(zhǔn)備好移植到生產(chǎn)服務(wù)器時(shí)從頁面中移除調(diào)試語句,會(huì)需要很大的工作量。ASP.NET提供TraceContext類,在開發(fā)頁面時(shí)該類用于在頁面上編寫自定義調(diào)試語句。只有當(dāng)您已經(jīng)對頁面或整個(gè)應(yīng)用程序啟用跟蹤時(shí)它們才出現(xiàn)。啟用跟蹤還將有關(guān)請求的細(xì)節(jié)追加到頁面,或者,追加到存儲(chǔ)在應(yīng)用程序根目錄中的自定義跟蹤查看器(如果這樣指定的話)。 .NET Framework和 ASP.NET為Web應(yīng)用程序提供默認(rèn)

40、授權(quán)和驗(yàn)證方案。可以方便地移除、添加或者替換這些方案,這取決于應(yīng)用程序的需要ASP.NET配置設(shè)置存儲(chǔ)在基于XML的文件中,這些文件都是人可讀和可寫的。每一個(gè)應(yīng)用程序都可以有不同的配置文件,可以擴(kuò)展配置方案,以適應(yīng)您的要求。 當(dāng)應(yīng)用程序安裝在同一臺計(jì)算機(jī)上,但使用不同的 .NET Framework 版本時(shí),就說應(yīng)用程序是并行運(yùn)行的。 IIS 6.0 使用一個(gè)稱為輔助進(jìn)程隔離模式的新進(jìn)程模型,它不同于 IIS 早期版本中使用的進(jìn)程模型。當(dāng)在 Windows Server 2003 上運(yùn)行時(shí),默認(rèn)情況下 ASP.NET 使用該進(jìn)程模型。 ASP.NET的對象和組件:1.ASP.NET有7個(gè)固有對

41、象這7個(gè)固有對象分別是Request、Response、Server、Application、Session、ASPError和ObjectContext。Request對象用來處理用戶做出的請求,就是處理用戶要求瀏覽器查看特定的網(wǎng)頁或Web應(yīng)用時(shí)做出的請求。此請求可以HTML的形式輸入或僅以URL的形式作出。Response對象用來處理從Web服務(wù)器向用戶發(fā)送信息并對此信息進(jìn)行控制。Serve對象用來代表服務(wù)器自身。因此它提供幾個(gè)與Web服務(wù)器可能要完成的任務(wù)相關(guān)的常用功能,諸如建立新對象和設(shè)置腳本的超時(shí)特性等。還有通過將不合法字符轉(zhuǎn)化為合法字符,把字符串轉(zhuǎn)換為URL和HTML正確的使用格式

42、的方法。Application對象用來代表應(yīng)用,可用它來管理諸如應(yīng)用目錄這一類的東西。Session對象用來代表用戶會(huì)話,并存儲(chǔ)該會(huì)話的信息。可利用Session對象來管理如Web服務(wù)器在用戶“請求”之間等待的時(shí)間等。ObjectContext對象用來管理事務(wù)處理。它目前已經(jīng)集成到Windows2000操作系統(tǒng)中了。它包含了所有ASP其他對象,可通過ObjectContext引用ASP的每個(gè)對象。ASPError對象包含ASP.NET腳本或asp.dll本身產(chǎn)生的任何錯(cuò)誤的詳細(xì)內(nèi)容。2.Microsoft Data Access ComponentMDAC作為操作系統(tǒng)的組成部分的組件,與ASP

43、一起提供。此組件中包含一組稱為ADO.NET的對象,他們對于查看不同平臺上的各種數(shù)據(jù)(數(shù)據(jù)庫、表單、文本文件)是必不可少的。ADO.NET主要有3個(gè)對象,分別是Connection、Command和DataSet。Connection對象就是使ADO.NET與數(shù)據(jù)庫之間建立一個(gè)通道,也就是實(shí)現(xiàn)與數(shù)據(jù)庫的連接。Command對象就是對數(shù)據(jù)庫進(jìn)行發(fā)號施令,比如建立新的索引,執(zhí)行查詢等,它可以通過標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫操作語言得以實(shí)現(xiàn)。DataSet對象是ADO.NET的核心,是實(shí)現(xiàn)離線訪問技術(shù)的載體。DataSet不維持和數(shù)據(jù)源的連接,可以視為一個(gè)斷開的記錄集。其中的數(shù)據(jù)可以被存取、操作、跟新或刪除,

44、并保持與數(shù)據(jù)源的一致。由于DataSet對象是使用無連接傳輸模式訪問數(shù)據(jù)源,因此,在用戶訪問數(shù)據(jù)源時(shí),無需經(jīng)過冗長的連接操作,而且數(shù)據(jù)由數(shù)據(jù)源讀入DataSet后,便關(guān)閉數(shù)據(jù)源的連接,接觸數(shù)據(jù)庫的鎖定,其他用戶便可以再使用該數(shù)據(jù)庫,避免了用戶之間對數(shù)據(jù)源的爭奪。3.2 Sql Server SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強(qiáng)大,簡單易學(xué),所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)

45、用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxporo,PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。Structured Query Language包含4個(gè)部分:數(shù)據(jù)查詢語言DQL-Data Query Language SELECT數(shù)據(jù)操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 數(shù)據(jù)定義語言DQL-Data Definition Language CREATE, ALTER, DROP數(shù)據(jù)

46、控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 3.2.1 SQL的優(yōu)點(diǎn)SQL廣泛地被采用正說明了它的優(yōu)點(diǎn)。它使全部用戶,包括應(yīng)用程序員、DBA管理員和終端用戶受益非淺。1.非過程化語言SQL是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數(shù)據(jù)的存放方法。 這種特性使用戶更易集中精力于要得到的結(jié)

47、果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。 2.統(tǒng)一的語言SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時(shí)間就能學(xué)會(huì),最高級的命令在幾天內(nèi)便可掌握。 SQL為許多任務(wù)提供了命令,包括:查詢數(shù)據(jù);在表中插入、修改和刪除記錄; 建立、修改和刪除數(shù)據(jù)對象;控制對數(shù)據(jù)和數(shù)據(jù)對象的存取;保證數(shù)據(jù)庫一致性和完整性 。以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨(dú)

48、的語言,而SQL將全部任務(wù)統(tǒng)一在一種語言中。3.是所有關(guān)系數(shù)據(jù)庫的公共語言由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè)。所有用SQL編寫的程序都是可以移植的。SQL是PostgreSQL(和大多數(shù)其它關(guān)系型數(shù)據(jù)庫)用做查詢語言的語言。它是可以移植的,并且容易學(xué)習(xí)使用。但是所有SQL語句都必須由數(shù)據(jù)庫服務(wù)器獨(dú)立地執(zhí)行。這就意味著客戶端應(yīng)用必須把每條查詢發(fā)送到數(shù)據(jù)庫服務(wù)器,等待它處理這個(gè)查詢,接收結(jié)果,做一些運(yùn)算,然后給服務(wù)器發(fā)送另外一條查詢。所有這些東西都會(huì)產(chǎn)生進(jìn)程間通訊,并且如果客戶端在另外一臺機(jī)器上甚至還會(huì)導(dǎo)致網(wǎng)絡(luò)開銷。如果使用了 PL

49、/pgSQL,那么可以把一塊運(yùn)算和一系列查詢在數(shù)據(jù)庫服務(wù)器里面組成一個(gè)塊,這樣就擁有了過程語言的力量并且簡化SQL的使用,因而節(jié)約了大量的時(shí)間,因?yàn)橛貌恢冻隹蛻舳?服務(wù)器通訊的過熱。通過使用PL/pgSQL,應(yīng)用可以獲得可觀的性能提升。 3.2.2 SQL的使用1.ASP.NET與SqlServer 2000數(shù)據(jù)庫連接,下面舉一示例:SqlConnection conn =new SqlConnection();String str=”server=(local);uid=sa;pwd=123;database=pubs”;conn.Connection=str;conn.open();2.

50、SQL常用命令使用方法:(1)數(shù)據(jù)記錄篩選:sql="select*from數(shù)據(jù)表where字段名=字段值orderby字段名desc"sql="select*from數(shù)據(jù)表where字段名like'%字段值%'orderby字段名desc"sql="selecttop10*from數(shù)據(jù)表where字段名orderby字段名desc"sql="select*from數(shù)據(jù)表where字段名in('值1','值2','值 3')"sql="select*from數(shù)據(jù)表where字段名between值1and值2"(2)更新數(shù)據(jù)記錄:sql="update數(shù)據(jù)表set字段名=字段值where條件表達(dá)式" sql="update數(shù)據(jù)表set字段1=值1,字段2=值2字段n=值nwhere條件表達(dá)式(3)刪除數(shù)據(jù)記錄:sql=&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論