




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、開源搜索引擎的比較收藏AComparisonofOpenSourceSearchEnginesChristianMiddleton,RicardoBaeza-Yates作者:ChristianMiddleton HYPERLINK /in/cmiddlet /in/cmiddletHi5的高級(jí)工程師。RicardoBaeza-Yates HYPERLINK /Ricardo_Baeza-Yates /Ricardo_Baeza-YatesYahoo的高級(jí)研究人員。翻譯:史春奇,搜索工程師,中科院計(jì)算所畢業(yè), HYPERLINK mailto:chunqi.shi chunqi.shi原文: H
2、YPERLINK /WRG/dctos/Middleton-Baeza.pdf /WRG/dctos/Middleton-Baeza.pdf目錄開源搜索引擎的比較.1AComparisonofOpenSourceSearchEngines.1目錄.1第1章簡介.2第2章背景.3文檔收集.4網(wǎng)頁抓取.42.1.2文本檢索大會(huì)TREC.4索引.5查詢和排序.5檢索評(píng)估.6第3章搜索引擎.7特征.8評(píng)估.9第4章比較方法.11文檔收集.11測試比較.124.3引擎安裝.12第5章測試.12索引.12TREC-4數(shù)據(jù)集的索引測試125.1.2索引WT10g的分組。14查詢.15TREC-4數(shù)據(jù)集的查詢
3、實(shí)驗(yàn)17準(zhǔn)確率和召回率的比較.195.3整體評(píng)估.19第6章結(jié)論.20參考書目.21第1章簡介隨著互聯(lián)網(wǎng)信息量的激增,為用戶提供網(wǎng)上相關(guān)信息的檢索成為迫切需求。而當(dāng)你準(zhǔn)備在網(wǎng)站上提供這種檢索服務(wù)的時(shí)候,你可以選擇,要么利用商業(yè)搜索引擎,要么選擇開源搜索引擎。對(duì)于很多站點(diǎn),采用商業(yè)搜索引擎,可能沒預(yù)期的那么便捷,你得花錢,而且呀,你可能沒大站點(diǎn)那樣受人家重視。另一方面,開源搜索引擎也能提供商業(yè)搜索引擎的同類功能(部分能夠處理大數(shù)據(jù)量),同時(shí)擁有開源理念帶來的好處:不花錢,可以更主動(dòng)地來維護(hù)軟件,也通過二次開發(fā)來滿足個(gè)人的需求?,F(xiàn)今,可以選擇的開源產(chǎn)品很多,而要決定是采用哪個(gè)開源產(chǎn)品,就必須認(rèn)真考
4、慮每個(gè)開源產(chǎn)品的不同的特性。對(duì)這些搜索引擎劃分的依據(jù)可以是開發(fā)的編程語言,索引文件的存儲(chǔ)(倒排文件,數(shù)據(jù)庫,還是其他文件格式),查詢的能力(布爾運(yùn)算,模糊查詢,詞根替換等等),排序策略,支持索引的文件類型,在線索引能力和增量索引的能力。其他值得考慮的重要因素是項(xiàng)目的最后更新日期,當(dāng)前版本和項(xiàng)目的活躍度。這些因素之所以重要是因?yàn)?,如果一個(gè)開源搜索引擎在近期沒有更新的話,那么要滿足現(xiàn)在的網(wǎng)站的話,可能存在很多的缺陷和問題。利用這些特性就可以給出一個(gè)大體上的劃分,同時(shí)能夠減少待選的開源產(chǎn)品的數(shù)目。最后,考慮不同負(fù)載的時(shí)候搜索引擎的性能,當(dāng)信息量增加時(shí),性能的如何降低的,這些也非常重要。此時(shí),就要分析
5、數(shù)據(jù)量和索引時(shí)間的對(duì)比情況,索引階段所用的資源,和檢索階段的性能。就目前我們了解的情況,本文的工作是首創(chuàng),比較了17個(gè)主流搜索引擎,并且在不同的文檔集合和多種查詢類型的情況下,比較了索引和查詢的性能。本文的目的是告訴人們遇到某種搜索需求的時(shí)候,該如何選擇是最合適的開源搜索引擎。第二章,介紹信息檢索的基礎(chǔ)概念,第三章,描述一下本文的搜索引擎,第四章,測試實(shí)驗(yàn)的實(shí)現(xiàn)思路,第五章前兩節(jié),給出實(shí)驗(yàn)的結(jié)果。第五章最后一節(jié),對(duì)結(jié)果進(jìn)行分析。最后,第六章進(jìn)行總結(jié)。第2章背景信息檢索(IR)是一個(gè)較廣的領(lǐng)域,一般符合如下定義:是對(duì)信息項(xiàng)進(jìn)行數(shù)據(jù)表示,存儲(chǔ),組織和訪問的領(lǐng)域。作為一個(gè)較廣的領(lǐng)域,信息檢索必須要能
6、夠在對(duì)信息進(jìn)行處理后,用戶就能夠容易地訪問到他們關(guān)注的信息。另一個(gè)也不失一般性的定義,描述如下:信息檢索是從大量數(shù)據(jù)集合(通常是存放在本地服務(wù)器或者互聯(lián)網(wǎng)上)中,查找滿足需求的非結(jié)構(gòu)化(文本)數(shù)據(jù)(文檔)集。核心思想是從可以獲取到的數(shù)據(jù)中,檢索出具有相關(guān)性的部分來滿足用戶的信息需求。為了實(shí)現(xiàn)這個(gè)目的,信息檢索(IR)系統(tǒng)由幾個(gè)相互關(guān)聯(lián)的模塊組成(圖2.1)。通常這些模塊含有三個(gè)方面的:索引,查找和排序。圖2.1:信息檢索過程索引:負(fù)責(zé)表示和組織所有信息,實(shí)現(xiàn)高效的信息訪問。查詢:從索引中抽出滿足用戶需求的信息。排序:盡管這是非必須的步驟,但對(duì)檢索來說非常重要,啟示式地對(duì)檢索結(jié)果盡可能按照滿足用
7、戶需求的方式排序。文檔收集要有信息可以檢索的話,就要先收集信息,作為索引的入口數(shù)據(jù)。待收集文檔可以是任何類型的數(shù)據(jù),只要能從中抽取出信息來。這就有很多場景了,要具體看檢索系統(tǒng)的應(yīng)用背景了。2.1.1網(wǎng)頁抓取在網(wǎng)頁搜索的場景中,網(wǎng)絡(luò)爬蟲是相當(dāng)必要的。簡單來講,爬蟲是能夠在網(wǎng)站間游走,并且將訪問過的頁面下載保存下來。網(wǎng)絡(luò)爬蟲種類很多,有些是商業(yè)的,也有開源的。由于網(wǎng)頁是海量的,所以為了平衡新頁面的抓取和已抓取頁面的更新,會(huì)采用各種的抓取算法。同樣的,也有必要考慮被抓網(wǎng)站的帶寬情況,避免把對(duì)方網(wǎng)站抓癱瘓了。2.1.2文本檢索大會(huì)TREC也有已經(jīng)生成好的文檔集合是被用來做學(xué)術(shù)研究的。例如,文本檢索大會(huì)
8、(TREC)就準(zhǔn)備了大小和類型不同的好幾類文檔集合,每個(gè)都是為不同任務(wù)設(shè)計(jì)的。根據(jù)對(duì)文檔不同的研究目的,研究被分成各種項(xiàng)目類型。例如2007TREC的項(xiàng)目類型有:博客組:目的是展現(xiàn)博客環(huán)境中的信息查找的行為規(guī)律。企業(yè)組:分析企業(yè)搜索。滿足用戶查找企業(yè)數(shù)據(jù)來完成某些任務(wù)?;蚪M:在特定領(lǐng)域的檢索研究(基因數(shù)據(jù))。垃圾組:對(duì)已有的和推薦的垃圾過濾方法進(jìn)行研究。利用這些文檔集合,TREC也作為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)集實(shí)例,被各個(gè)小組采用各種方法去處理,然后基于這相同的實(shí)例進(jìn)行分析得到的不同結(jié)果,來討論和比較不同檢索方法。所以TREC也提供一組檢索任務(wù)和查詢結(jié)果相關(guān)性的判斷。Table2.1,倒排索引舉例,對(duì)
9、每個(gè)出現(xiàn)的詞,都保存了在文檔中的位置列表這樣才使得研究不同信息檢索(IR)系統(tǒng)的準(zhǔn)確率和召回率成為可能。2.2索引要實(shí)現(xiàn)對(duì)大文檔集合的高效率的檢索,就需要重新組織數(shù)據(jù),存儲(chǔ)到特定的設(shè)計(jì)好的數(shù)據(jù)結(jié)構(gòu)中。這就是索引,它使得快速檢索文檔集合變得容易,簡單來說,就是減少兩兩比較的次數(shù)。在文本檢索中,最常用的數(shù)據(jù)結(jié)構(gòu)是倒排索引(見表2.1),它包含一個(gè)詞典,詞典包含了所有在文檔中出現(xiàn)的詞匯。同時(shí),詞典中每個(gè)單詞映射了一個(gè)位置列表,列出這個(gè)單詞在哪些文檔中出現(xiàn)了,以及出現(xiàn)的位置信息。當(dāng)然不同應(yīng)用對(duì)應(yīng)的需求的類型也不同,在一些應(yīng)用中,會(huì)將文檔自身給出來,而不僅僅是位置信息,這依然是一種倒排索引。索引存儲(chǔ)需要
10、的空間和文檔集合的大小成正比關(guān)系,有些方法可以用來減少和優(yōu)化存儲(chǔ)需要的空間。通常來說,一個(gè)詞典需要的存儲(chǔ)空間不大,但是位置列表的存儲(chǔ)需要極大的空間。另外,一個(gè)搜索引擎的功能也決定著存儲(chǔ)空間的大小,這就需要在提供哪些功能和存儲(chǔ)空間之間進(jìn)行平衡。例如,為了給出用戶檢索詞周圍的文本片段,有些索引存儲(chǔ)了文檔的全文,而另外一些索引則不提供文本片段,這樣需要的存儲(chǔ)空間就較少。一些索引對(duì)位置列表進(jìn)行壓縮,(例如采用段地址,將文本切成段,使得多個(gè)實(shí)例都被劃分到較少的段中,而索引地址就指向這些段),但是這種方式的代價(jià)是要精確地獲取單詞的位置時(shí),需要額外開銷(在本文的例子中需要順序掃描目標(biāo)段)。在索引之前,有個(gè)幾
11、預(yù)處理需要完成,其中最常見的是停用詞消減,和詞根替換。有些詞在文檔中出現(xiàn)的極為頻繁,但是對(duì)檢索而言,它們的相關(guān)性卻很小(例如,在英文中,“a”,“an”,“be”,“for”)對(duì)應(yīng)到中文,“的”,“是”,“這”,“那”等。它們被稱為停用詞,不同的應(yīng)用和不同的語言,有著不同的停用詞表。所以停用詞消減成為一種常做的預(yù)處理,從文本中除去這些停用詞,不索引它們,這就大大減少了倒排索引的大小。另一個(gè)叫詞根替換,這也很常見,除了用戶檢索的詞外,出現(xiàn)在文本當(dāng)中的這個(gè)詞的變體形式,例如復(fù)數(shù)和過去式,也希望能夠被匹配。為了解決這個(gè)問題,一些索引采用獲取詞根的算法,在查詢的時(shí)候用詞根來進(jìn)行替換。詞根一般是不帶詞綴
12、的部分。例如“connect”是“connected”“connecting”“connection”“connections”的詞根。預(yù)處理也好,索引結(jié)構(gòu)也好,在影響存儲(chǔ)空間的同時(shí),也會(huì)影響索引的時(shí)間開銷。之前提過,根據(jù)不用的應(yīng)用需求,建索引過程中可能要在時(shí)間開銷作出犧牲,以便獲得一個(gè)更省空間的索引存儲(chǔ)。當(dāng)然,索引的特性也會(huì)影響查詢,在本文后面會(huì)有說明。2.3查詢和排序利用倒排索引,查詢會(huì)變得相當(dāng)?shù)目旖?,基本上,查詢的主要步驟是:詞典查找,查詢?cè)~會(huì)被切分成一組單詞,然后在在詞典上找索引。這個(gè)過程可以通過對(duì)詞典排序,而變得很迅速。檢索是否存在,如果在詞典中定位到詞了,就在找對(duì)應(yīng)的位置列表,看是
13、否存在文檔。結(jié)果處理,為了得到查詢?cè)~的結(jié)果,需要對(duì)找到的結(jié)果列表進(jìn)行再處理。根據(jù)查詢?cè)~的類型(布爾型的,近似匹配,使用通配符)不同,操作會(huì)不一樣,而且意味著需要對(duì)結(jié)果做額外處理。例如,布爾型查詢是最常見的,是由一組查詢?cè)~(原子的)通過布爾運(yùn)算(與,或,非)來進(jìn)行組合,以便查到的文檔滿足這些運(yùn)算條件。利用倒排索引可以解決這類查詢,唯一要做的處理只是合并各個(gè)查詢?cè)~的位置列表,然后按照布爾條件要求來選擇滿足條件的位置。另一方面,單詞組合和近似查找這兩個(gè)查詢類型的處理相對(duì)困難,需要對(duì)結(jié)果進(jìn)行復(fù)雜的處理。單詞組合是指一組詞匯以特定的模式在文檔中出現(xiàn)。而近似查找則是一種相對(duì)弱的關(guān)聯(lián)關(guān)系的處理,單詞可能相距
14、一定的距離,但是依然滿足出現(xiàn)的順序。對(duì)于這些查詢,有必要對(duì)結(jié)果按照單詞的位置進(jìn)行排列,然后再對(duì)結(jié)果位置列表進(jìn)行模式匹配。在查詢完索引之后,需要對(duì)結(jié)果按照用戶需求進(jìn)行排序。這個(gè)排序階段是可選的,不是必須的。但是對(duì)于網(wǎng)頁搜索的場景來說,這個(gè)階段非常重要。影響排序的因素除了查詢的結(jié)果文檔是否匹配查詢?cè)~外,還有很多其他附加因素。例如,在某些應(yīng)用下,文檔的大小會(huì)暗示文檔的重要程度。在網(wǎng)頁搜索場景,另一個(gè)因素是檢索的頁面是否“流行”(例如綜合考慮網(wǎng)頁的入鏈和出鏈,頁面已經(jīng)存在的時(shí)間等等)。查詢?cè)~命中的位置(例如是在標(biāo)題里面命中呢,還是正文里面命中),等。檢索評(píng)估為了分析一個(gè)檢索系統(tǒng)的質(zhì)量,需要研究由系統(tǒng)返
15、回的結(jié)果是否和輸入的查詢?cè)~匹配。這可以如此來實(shí)現(xiàn),給定一個(gè)查詢?cè)~和一組文檔,文檔可以劃分為與查詢?cè)~相關(guān)的部分和不相關(guān)的部分。然后與由檢索系統(tǒng)返回的結(jié)果相比較。為了形式化表示質(zhì)量,有幾組定義好的質(zhì)量評(píng)價(jià)指標(biāo)可用。本文只關(guān)心準(zhǔn)確率和召回率以及兩者之間的關(guān)系。給定一個(gè)查詢?cè)~q和文檔集合I,用R來表示相關(guān)的文檔。用A來表示搜索引擎檢索到的文檔集合,當(dāng)提交了查詢?cè)~q之后,Ra表示由系統(tǒng)檢索到的,并且相關(guān)的文檔。我們定義如下:召回率:檢索系統(tǒng)返回的結(jié)果中,與q相關(guān)的部分與所有相關(guān)的文檔的比值。Recall=|Ra|/|R|.(1)1個(gè)搜索引擎的數(shù)據(jù)。(b)3個(gè)搜索引擎的數(shù)據(jù)。圖2.2:平均準(zhǔn)確率/召回率準(zhǔn)
16、確率:檢索系統(tǒng)返回的結(jié)果中,與q相關(guān)的部分與所有返回的文檔的比值。Precision=|Ra|/|A|由于單個(gè)質(zhì)量指標(biāo)自身可能不足以描述檢索系統(tǒng)的質(zhì)量(例如,一個(gè)檢索系統(tǒng)要得到100%的召回率,只要返回所有的文檔集合)。只有通過組合以上指標(biāo)才能來分析評(píng)價(jià)。例如,為了從趨勢(shì)圖上分析一個(gè)檢索系統(tǒng)的質(zhì)量。可以在平面圖上描出平均的準(zhǔn)確率召回率(如圖2.2),然后再來觀察這個(gè)系統(tǒng)的準(zhǔn)確率和召回率。平面圖在比較評(píng)價(jià)不同的搜索引擎的時(shí)候也是有用的。例如,圖2.2(b)觀察3個(gè)搜索引擎的曲線。我們發(fā)現(xiàn)搜索引擎2在低召回率的時(shí)候,準(zhǔn)確率比其它的搜索引擎要低,但是隨著召回率的增加,它的準(zhǔn)確率比較平緩,不像其它引擎
17、退化的那么厲害。另外一個(gè)常用標(biāo)準(zhǔn)是在截取部分結(jié)果后來統(tǒng)計(jì)準(zhǔn)確率。例如,分析返回的結(jié)果文檔的前五個(gè)的準(zhǔn)確率。經(jīng)常叫為前n值準(zhǔn)確率,(Pn),之所以采用這個(gè)標(biāo)準(zhǔn),主要用戶一般習(xí)慣于只查看返回結(jié)果的前n個(gè),而不是遍歷全部的返回結(jié)果。正如上文提到的,要分析準(zhǔn)確率和召回率,就要對(duì)全部文檔,分析每個(gè)文檔和查詢?cè)~的相關(guān)性。并且需要由領(lǐng)域?qū)<襾矸治霾樵冊(cè)~對(duì)應(yīng)的需求含義。但是有時(shí)候,這種分析變得難以實(shí)現(xiàn),因?yàn)檎麄€(gè)文檔集合會(huì)因?yàn)檫^大而不容易分析,或者用戶的查詢?cè)~所代表的含義并不清楚。為了避免類似的問題,TREC大會(huì)也提供了一組查詢?cè)~(或者相關(guān)主體)和對(duì)應(yīng)的相關(guān)的文檔(相關(guān)性判斷)。利用每個(gè)方向所提供的文檔集合,和
18、已經(jīng)定義好的一組主題,以及使用該數(shù)據(jù)的意義,這些就可以在被研究的檢索引擎上進(jìn)行查詢,然后對(duì)返回的相關(guān)的結(jié)果集合進(jìn)行分析。第3章搜索引擎開源搜索引擎還挺多的。在本文中,列出了目前主流的搜索引擎,并且對(duì)它們進(jìn)行了初步的評(píng)價(jià),以便給出一個(gè)總體上的印象。初步評(píng)價(jià)用到的標(biāo)準(zhǔn)包括:開發(fā)現(xiàn)狀,項(xiàng)目活躍度,最后更新時(shí)間。我們比較了29個(gè)搜索引擎項(xiàng)目:ASPSeek,BBDBot,Datapark,ebhath,Eureka,ht:/Dig,Indri,ISearch,IXE,Lucene,ManagingGigabytes(MG),MG4J,mnoGoSearch,MPSInformationServer,N
19、amazu,Nutch,Omega,OmniFindIBMYahoo!Ed.,OpenFTS,PLWeb,SWISH-E,SWISH+,Terrier,WAIS/freeWAIS,WebGlimpse,XMLQueryEngine,XMLSearch,Zebra,和Zettair。基于本文收集到的信息,可以除去部分項(xiàng)目,因?yàn)樗鼈円呀?jīng)太過時(shí)了(最后更新時(shí)間要早于2000年)。這些項(xiàng)目不死不活的,又無法得到更多信息。因此我們除去了ASPSeek,BBDBot,ebhath,Eureka,ISearch,MPSInformationServer,PLWeb,和WAIS/freeWAIS.另外,也有項(xiàng)
20、目由于其它原因被丟棄了。例如盡管MG項(xiàng)目是該領(lǐng)域一個(gè)相當(dāng)重要的工作,但是由于從1999后就再?zèng)]有更新過。另外Nutch項(xiàng)目也被忽略了,因?yàn)樗皇荓ucene項(xiàng)目的一次調(diào)用。因此我們只分析Lucene項(xiàng)目。最后,XMLQuery引擎和Zebra引擎也被忽略了,因?yàn)檫@兩個(gè)項(xiàng)目是專注于結(jié)構(gòu)化數(shù)據(jù)(XML),而不是半結(jié)構(gòu)數(shù)據(jù)(HTML)的。因此,剩下來,本文要覆蓋的當(dāng)前的項(xiàng)目是:Datapark,ht:/Dig,Indri,IXE,Lucene,MG4J,mno-GoSearch,Namazu,OmniFind,OpenFTS,Omega,SWISH-E,SWISH+,Terrier,WebGlimp
21、se(Glimpse),XMLSearch,andZettair。但是,經(jīng)過很初步的測試,就最小的數(shù)據(jù)集合而言,本文發(fā)現(xiàn),Datapark,mnoGoSearch,Namazu,OpenFTS,和Glimpse的建索引的時(shí)間開銷是其余項(xiàng)目的建索引時(shí)間開銷的3到6倍。因此我們也將它們排除在外了。3.1特征前面提到,每個(gè)搜索引擎都可以依據(jù)它們實(shí)現(xiàn)的特性,以及在不同場景下的表現(xiàn)來進(jìn)行劃分。本文通過分析這些搜索引擎的功能以及內(nèi)在特性,給定了13個(gè)常用特征來描述劃分這些搜索引擎。存儲(chǔ)方式:索引的存儲(chǔ)方式,要么是用數(shù)據(jù)庫存儲(chǔ)或者僅采用文件結(jié)構(gòu)存儲(chǔ)。增量索引:是否支持向已有的索引追加新的文件集合,而不用重新
22、生成整個(gè)索引。結(jié)果摘要:是否支持對(duì)結(jié)果提取摘要信息。結(jié)果模板:部分引擎支持模板來提前結(jié)果信息。停用詞表:建索引的時(shí)候,開放停用詞表接口,可以通過增減高頻詞,來去掉這些高頻詞。文件類型:索引可以解析的文件的類型。最常用的類型是HTML。詞根替換:索引和檢索是否支持詞根替換。模糊查找:是否支持模糊查找,而不要精確匹配。結(jié)果排序:根據(jù)不同的標(biāo)準(zhǔn)對(duì)結(jié)果進(jìn)行排序。排序策略:在提供查詢結(jié)果的時(shí)候,采用的排序策略。搜索類型:是否支持查詢?cè)~的組合操作。編程語言:用。建索引實(shí)現(xiàn)的編程語言。這個(gè)信息在對(duì)項(xiàng)目進(jìn)行擴(kuò)展或者繼承的時(shí)候會(huì)相當(dāng)有版權(quán)信息:指明允許使用和二次開發(fā)的條件。在表3.2中列出了每個(gè)搜索引擎的特征信
23、息。為了決定采用哪個(gè)搜索引擎,有必要將所有特征來整體分析,并且要補(bǔ)充上性能評(píng)估的信息。簡單描述一下將要分析的每個(gè)搜索引擎,主要有誰在哪里開發(fā)的,和項(xiàng)目賴以著稱的特征。ht:/Dig,提供一組工具可以索引和搜索一個(gè)站點(diǎn)。提供有一個(gè)命令行工具和CGI界面來執(zhí)行搜索。盡管已經(jīng)有了更新的版本了,但是根據(jù)項(xiàng)目的網(wǎng)站,3.1.6版是最快的版本了。IXEToolkit,是模塊化C+類集合,有一組工具完成索引和查詢。Tiscali(來自意大利)提供有商業(yè)版本,同時(shí)提供了一個(gè)非商業(yè)版本僅用于科學(xué)研究。Indri,是基于Lemur的搜索引擎。Lemur是用來研究語言模型和信息檢索的工具。這個(gè)項(xiàng)目是馬薩諸塞大學(xué)和C
24、MU的合作項(xiàng)目的產(chǎn)物。Lucene,是Apache軟件基金會(huì)的一個(gè)文本搜索引擎庫。由于它是一個(gè)庫,所以很多項(xiàng)目基于這個(gè)庫,例如Nutch項(xiàng)目。在目前,它捆綁自帶的最簡單的應(yīng)用是索引文檔集合。MG4J(管理前兆數(shù)據(jù)Java語言)是針對(duì)大文本集合的一個(gè)全文索引工具。由米蘭大學(xué)開發(fā)。他們提供了通用的字符串和位級(jí)別的I/O的優(yōu)化的類庫作為副產(chǎn)物。Omega,基于Xapian的應(yīng)用。Xapian是開源的統(tǒng)計(jì)信息檢索庫,由C+開發(fā),但是被移植到了(PerlPythonphp,Java,Tel,C#)等多種語言。IBMOmnifindYahoo!Edition,非常適合內(nèi)網(wǎng)搜索的搜索軟件。他結(jié)合了基于Lue
25、ene索引的內(nèi)網(wǎng)搜索,和利用Yahoo實(shí)現(xiàn)的外網(wǎng)搜索。SWISH-E(簡單網(wǎng)頁索引系統(tǒng)一增強(qiáng)版),是開源的索引和檢索引擎。是KevinHughes開發(fā)的SWISH的增強(qiáng)版。SWISH+是基于SWISH-E的索引和檢索工具。盡管經(jīng)過C+全部重寫,但是沒有實(shí)現(xiàn)SWISH-E的全部功能。Terrier(太字節(jié)檢索),由蘇格蘭的格拉斯哥大學(xué)開發(fā)的,模塊化的平臺(tái),能夠快速的構(gòu)架互聯(lián)網(wǎng),內(nèi)網(wǎng),和桌面的搜索引擎。它附帶了索引,查詢和評(píng)估標(biāo)準(zhǔn)TREC集合的功能。XMLSeareh,C+開發(fā)的索引和檢索的一組類。利用文本操作(相等,前綴,后綴,分段)來擴(kuò)展了查詢能力。Bareino(來自智利)提供了一個(gè)商業(yè)版,
26、同時(shí)也有個(gè)供學(xué)術(shù)研究的非商業(yè)版。Zettair,(先前稱為Lucy),由皇家墨爾本理工大學(xué)的搜索引擎小組開發(fā)的文本檢索引擎。主要特征是能夠處理超大量的文本。3.2評(píng)估正如先前提到,每個(gè)搜索引擎都有多個(gè)特征來區(qū)分它自己。要對(duì)這些引擎做個(gè)對(duì)比的話,本文期望有一個(gè)較好的質(zhì)量評(píng)估流程來給用戶一個(gè)客觀的的打分,以便區(qū)分這些搜索引擎的效果。如何選擇最好的搜索引擎,這個(gè)問題的解決依賴于每個(gè)用戶的特定需求和相應(yīng)搜索引擎的主要目標(biāo)。例如,評(píng)估可以從易用性的角度入手,每個(gè)引擎的方便程度如何,拿來就能用?對(duì)它二次開發(fā)的難度有多大?這基本上由搜索引擎的主要特征來決定。例如,Lueene只想做一個(gè)索引和檢索的API,但
27、如果你想利用Lueene的特性來做你的前端的話,你就需要關(guān)注對(duì)應(yīng)的下游項(xiàng)目Nuteh。另外一種可能是分析公共的特性,例如索引和檢索的性能,這些特征可能很適合分析,但是要注意的是,你必須仔細(xì)分析,因?yàn)檫@不是唯一特征。因此,本文的比較基于如下可以計(jì)量的參數(shù)(索引時(shí)間,索引大小,資源消耗,查詢時(shí)間,準(zhǔn)確率,召回率等)。最后,我們提供幾個(gè)用例和每個(gè)用例的可替代方案。搜索引擎最后更新版本號(hào)說明ASPSeek2002N/A已終止BBDBot2002N/A2002后,不在更新。Datapark13/03/20064.38ebhathN/AN/A沒有網(wǎng)站。EurekaN/AN/A網(wǎng)站失效。ht:/Dig16/
28、06/20043.2.0b6Indri01/20072.4ISearch02/11/20001.75據(jù)網(wǎng)站講:已經(jīng)停止更新,目前依然可以下載IXE20071.5Lucene02/03/20061.9.1ManagingGigabytes01/08/1999MG4J03/10/20051.0.1mnoGoSearch15/03/20063.2.38MPSInform.ServerNamazu12/03/20062.0.16Nutch31/03/20060.7.2Lucene的下游項(xiàng)目。Omega08/04/20060.9.5基于Xapian庫的應(yīng)用。OmniFindIBMYahoo!2006/1
29、2/078.4.0OpenFTS05/04/20050.39PLWeb16/03/19993.0.42000年,AOL發(fā)布聲明說不在提供代碼。SWISHE17/12/20042.4.3SWISHSWISH+14/03/20066.1.4Terrier17/03/20051.0.2WAIS&freeWAISN/AN/A軟件過期。WebGlimpse01/04/20064.18.5基于Glimpse實(shí)現(xiàn)索引XMLQueryEngine02/04/20050.69XML搜索引擎Zebra23/02/20061.3.34XML搜索引擎Zettair09/20060.93表3.1:可用的開源搜索引擎的基
30、本特性。搜索引擎存儲(chǔ)方式(f)增量索引結(jié)果摘要結(jié)果模板停用詞表文件類型(e)詞根替換模糊查找結(jié)果排序(d)排序策略搜索類型(c)編程語言(b)版權(quán)信息(a)Datapark2YYYY1,2,3YY1,2Y214ht:/Dig1YYYY1,2YYY21,24Indri1YYYY1,2,3,4YY1,2Y1,2,323IXE1YYYY1,2,3NY1,2Y1,2,328Lucene1YNNY1,2,4YY1Y1,2,331MG4J1YYYY1,2YN1Y1,2,336mnoGoSearch2YYYY1,2YY1Y214Namazu1YYYN1,2N1,2Y1,2,314Omega1YNYY1,2,
31、4,5YN1Y1,2,324OmniFind1YYYY1,2,3,4,5YY1Y1,2,335OpenFTS2YNNY1,2YY1Y1,244SWISH-E1YNNY1,2,3YY1,2Y1,2,314SWISH+1YNNY1,2YN1Y1,2,324Terrier1NNNY1,2,3,4,5YY1Y1,2,337WebGlimpse1YY(g)Y(g)N1,2NY1(e)Y1,2,318,9XMLSearch1YNNY3NY3N1,2,328Zettair1YNY1,2YN1Y1,2,312(a)1:Apache,2:BSD,3:CMU,4:GPL,5:IBM,6:LGPL,7:MPL,8:
32、Comm,9:FreeY:存在。N:不存在。(b)1:C,2:C+,3:Java,4:Perl,5:PHP,6:Tcl(c)1:phrase,2:boolean,3:wildcard.(d)1:ranking,2:date,3:none.(e)1:HTML,2:plaintext,3:XML,4:PDF,5:PS.(f)1:file,2:database.(g)只有商業(yè)版表3.2:分析開源搜索引擎的主要特點(diǎn)。第4章比較方法本文的目的是在不同的場景下比較開源搜索引擎的性能(例如,使用不同大小的文檔集合)然后用共同的標(biāo)準(zhǔn)去評(píng)估他們。為了完成這項(xiàng)工作,將采用如下步驟。獲取HTML文檔集合。確定用來監(jiān)
33、控搜索引擎性能的工具。安裝和配置每個(gè)搜索引擎。索引每個(gè)文檔集合處理和分析索引結(jié)果6.進(jìn)行查詢7.分析查詢結(jié)果。文檔收集為了比較不同的搜索引擎的性能,有必要選擇幾個(gè)大小不同的文檔集合,從小于1G的文本,到2.5G或者3G的文本。另外一個(gè)是文本的類型考慮,常用于搜索引擎分析的文本類型是HTML。要收集3G的HTML數(shù)據(jù),一種方法是抓取一個(gè)在線網(wǎng)站作為數(shù)據(jù)集合,但由于本文關(guān)注于索引的能力和性能,所以還是就用本地?cái)?shù)據(jù)。選擇了一個(gè)TREC-4的文本集合,這個(gè)集合有許多文件,分別對(duì)應(yīng)到華爾街時(shí)報(bào),美聯(lián)社,洛杉磯時(shí)報(bào),等等。每個(gè)文件都是SGML的格式。需要先解析數(shù)據(jù),生成HTML的文檔,每個(gè)大約是500kB
34、的樣子。最后這個(gè)數(shù)據(jù)集分成了3個(gè)不同大小的組,一個(gè)750MB(1,549個(gè)文檔),一個(gè)1.6GB(3,193)個(gè)文檔,另外一個(gè)2.7GB(5,572個(gè)文檔)。最后,進(jìn)一步使用了WT10gTREC網(wǎng)頁(WebTREC)的數(shù)據(jù)進(jìn)行比較。這個(gè)集合包含了1,692,096個(gè)文檔。劃分成5117個(gè)文件??偞笮∈?0.2GB。這個(gè)文檔集合又被分成不同大小的組(2.4GB,4.8GB,7.2GB,10.2GB),被分別用來測試對(duì)應(yīng)的索引時(shí)間。查詢的測試是基于整個(gè)WT10g的數(shù)據(jù)集的。測試比較我們?cè)谖臋n集合上運(yùn)行了5個(gè)個(gè)實(shí)驗(yàn)。前3個(gè)個(gè)實(shí)驗(yàn)是基于解析好的文檔集合(TREC-4)。而后兩個(gè)個(gè)實(shí)驗(yàn)是基于WT10gWebTREC的數(shù)據(jù)集的。第一個(gè)實(shí)驗(yàn),記錄每個(gè)搜索引擎的索引數(shù)據(jù)的時(shí)間開銷和資源開銷。第二個(gè)實(shí)驗(yàn),將第一個(gè)索引測試的優(yōu)勝者作為候選集,進(jìn)行查詢測試,并且記錄查詢時(shí)間開銷和針對(duì)不同數(shù)據(jù)集來分析性能。第三個(gè)測試比較增量索引的時(shí)間開銷。所有的索引流程是在同一個(gè)電腦上依次執(zhí)行的。第四個(gè)測試比較針對(duì)有能力索引全部文檔的搜索引擎,在WT10gWebTREC的不同大小的數(shù)據(jù)集上統(tǒng)計(jì)索引時(shí)間開銷。最后,第五個(gè)實(shí)驗(yàn)使用WT10g的全部數(shù)據(jù),并且采用一組查詢?cè)~來分析查詢時(shí)間開銷,準(zhǔn)確率和召回率。引擎安裝所用計(jì)算機(jī)主要性能:奔騰四3.2GHz處理器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代賣公司合同范本
- 產(chǎn)品抵押工資合同范本
- 內(nèi)部購買服務(wù)合同范本
- 999玫瑰買賣合同范本
- 云南土地流轉(zhuǎn)合同范本
- 04購房合同范例
- 無錫錦鯉池過濾器施工方案
- 主體蓋房合同范本
- app監(jiān)控合同范本
- 公司安全協(xié)議合同范本
- GB/T 18268.1-2010測量、控制和實(shí)驗(yàn)室用的電設(shè)備電磁兼容性要求第1部分:通用要求
- 第三節(jié)對(duì)化學(xué)武器的防護(hù)
- 人教版高一物理必修二第六章《圓周運(yùn)動(dòng)》課后練習(xí)(有答案解析)
- 施工進(jìn)度計(jì)劃-報(bào)審表本
- 基于單片機(jī)的老人跌倒報(bào)警裝置獲獎(jiǎng)科研報(bào)告
- 呼吸機(jī)及管路的管理課件
- 維修質(zhì)量檢驗(yàn)制度
- 統(tǒng)計(jì)學(xué)主要計(jì)算公式21098
- 品質(zhì)控制計(jì)劃(QC工程圖)
- DB15T 1193-2017 城市供水行業(yè)反恐怖防范要求
- 汽車營銷學(xué)(全套課件)
評(píng)論
0/150
提交評(píng)論