日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā) - Dedian - Blog...

 ShangShujie 2007-04-11
作為LuceneNutch兩大Apach Open Source Project的始創(chuàng)人(其實(shí)還有Lucy, Lucene4C 和Hadoop等相關(guān)子項(xiàng)目),Doug Cutting 一直為搜索引擎的開發(fā)人員所關(guān)注。他終于在為Yahoo以Contractor的身份工作4年后,于今年正式以Employee的身份加入Yahoo

下面是筆者在工作之余,翻譯其一篇2年前的訪談錄,原文(Doug Cutting Interview)在網(wǎng)上Google一下就容易找到。希望對(duì)搜索引擎開發(fā)的初學(xué)者起到一個(gè)拋磚引玉的效果。

(注:翻譯水平有限,不求雅,只求信,達(dá)。希望見諒)

1。請(qǐng)問你以何為生?你是如何開始從事搜索引擎開發(fā)的?

我主要在家從事兩個(gè)與搜索有關(guān)的開源項(xiàng)目的開發(fā): Lucene和Nutch. 錢主要來(lái)自于一些與這些項(xiàng)目相關(guān)的一些合同中。目前Yahoo! Labs 有一部分贊助在Nutch上。這兩個(gè)項(xiàng)目還有一些其他的短期合同 。

2。你能大概給我們講解一下Nutch嗎?以及你將在哪方面運(yùn)用它?

我還是先說(shuō)一下Lucene吧。Lucene其實(shí)是一個(gè)提供全文文本搜索的函數(shù)庫(kù),它不是一個(gè)應(yīng)用軟件。它提供很多API函數(shù)讓你可以運(yùn)用到各種實(shí)際應(yīng)用程序中?,F(xiàn)在,它已經(jīng)成為Apache的一個(gè)項(xiàng)目并被廣泛應(yīng)用著。這里列出一些已經(jīng)使用Lucene的系統(tǒng)。

Nutch是一個(gè)建立在Lucene核心之上的Web搜索的實(shí)現(xiàn),它是一個(gè)真正的應(yīng)用程序。也就是說(shuō),你可以直接下載下來(lái)拿過(guò)來(lái)用。它在Lucene的基礎(chǔ)上加了網(wǎng)絡(luò)爬蟲和一些和Web相關(guān)的東東。其目的就是想從一個(gè)簡(jiǎn)單的站內(nèi)索引和搜索推廣到全球網(wǎng)絡(luò)的搜索上,就像Google和Yahoo一樣。當(dāng)然,和那些巨人競(jìng)爭(zhēng),你得動(dòng)一些腦筋,想一些辦法。我們已經(jīng)測(cè)試過(guò)100M的網(wǎng)頁(yè),并且它的設(shè)計(jì)用在超過(guò)1B的網(wǎng)頁(yè)上應(yīng)該沒有問題。當(dāng)然,讓它運(yùn)行在一臺(tái)機(jī)器上,搜索一些服務(wù)器,也運(yùn)行的很好。

3。在你看來(lái),什么是搜索引擎的核心元素?也就說(shuō),一般的搜索引擎軟件可以分成哪幾個(gè)主要部分或者模塊?

讓我想想,大概是如下幾塊吧:

 -- 攫取(fetching):就是把被指向的網(wǎng)頁(yè)下載下來(lái)。
 -- 數(shù)據(jù)庫(kù):保存攫取的網(wǎng)頁(yè)信息,比如那些網(wǎng)頁(yè)已經(jīng)被攫取,什么時(shí)候被攫取的以及他們又有哪些鏈接的網(wǎng)頁(yè)等等。
 -- 鏈接分析:對(duì)剛才數(shù)據(jù)庫(kù)的信息進(jìn)行分析,給每個(gè)網(wǎng)頁(yè)加上一些權(quán)值(比如PageRank,WebRank什么的),以便對(duì)每個(gè)網(wǎng)頁(yè)的重要性有所估計(jì)。不過(guò),在我看來(lái),索引那些網(wǎng)頁(yè)標(biāo)記(Anchor)里面的內(nèi)容更為重要。(這也是為什么諸如Google Bombing如此高效的原因)
 -- 索引(Indexing): 就是對(duì)攫取的網(wǎng)頁(yè)內(nèi)容,以及鏈入鏈接,鏈接分析權(quán)值等信息進(jìn)行索引以便迅速查詢。
 -- 搜索(Searching): 就是通過(guò)一個(gè)索引進(jìn)行查詢?nèi)缓蟀凑站W(wǎng)頁(yè)排名顯示。

當(dāng)然,為了讓搜索引擎能夠處理數(shù)以億計(jì)的網(wǎng)頁(yè),以上的模塊都應(yīng)該是分布式的。也就是說(shuō),可以在多臺(tái)機(jī)器上并行運(yùn)行。

4。你剛才說(shuō)大家可以立馬下載Nutch運(yùn)行在自己的機(jī)器上。這是不是說(shuō),即便那些對(duì)Apache服務(wù)器沒有掌控權(quán)的網(wǎng)站管理員在短時(shí)間內(nèi)就可以使用Nutch?

很不幸,估計(jì)他們大都沒戲。因?yàn)镹utch還是需要一個(gè)Java servlet的容器(筆者注:比如Tomcat)。而這個(gè)有些ISP支持,但大都不支持。(筆者注: 只有對(duì)Apache服務(wù)器有掌控權(quán),你才能在上面安裝一個(gè)Tomcat之類的東東)

5。我可以把Lucene和Google Web API結(jié)合起來(lái)嗎?或者和其他的一些我先前寫過(guò)的應(yīng)用程序結(jié)合起來(lái)?

有那么一幫人已經(jīng)為Nutch寫了一些類似Google的API, 但還沒有一個(gè)融入現(xiàn)在的系統(tǒng)。估計(jì)不久的將來(lái)就行了。

6。你認(rèn)為目前實(shí)現(xiàn)一個(gè)搜索引擎最大的障礙在哪里?是硬件,存儲(chǔ)障礙還是排名算法?還有,你能不能告訴我大概需要多大的空間搜索引擎才能正常工作,就說(shuō)我只想寫一個(gè)針對(duì)搜索成千上百萬(wàn)的RSS feeds的一個(gè)搜索引擎吧。

Nutch大概一個(gè)網(wǎng)頁(yè)總共需要10kb的空間吧。Rss feeds的網(wǎng)頁(yè)一般都比較小(筆者注: Rss feeds都是基于xml的文本網(wǎng)頁(yè),所以不會(huì)很大),所以應(yīng)該更好處理吧。當(dāng)然Nutch目前還沒有針對(duì)RSS的支持。(筆者注:實(shí)際上,API里面有針對(duì)RSS的數(shù)據(jù)結(jié)構(gòu)和解析)

7。從Yahoo! Labs拿到資金容易嗎?哪些人可以申請(qǐng)?你又要為之做出些什么作為回報(bào)?

我是被邀請(qǐng)的,我沒有申請(qǐng)。所以我不是很清楚個(gè)中的流程。

8。Google有沒有表示對(duì)Nutch感興趣?

我和那邊的一些家伙談過(guò),包括Larry Page(筆者注: Google兩個(gè)創(chuàng)始人之一)。他們都很愿意提供一些幫助,但是他們也無(wú)法找到一種不會(huì)幫助到他們競(jìng)爭(zhēng)對(duì)手的合適方式。

9。你有實(shí)現(xiàn)你自己的PageRank或者WebRank算法系統(tǒng)在你的Nutch里嗎?什么是你做網(wǎng)頁(yè)排名(Ranking)的考慮?

是的,Nutch里面有一個(gè)鏈接分析模塊。它是可選的,因?yàn)閷?duì)于站內(nèi)搜索來(lái)說(shuō),網(wǎng)頁(yè)排名是不需要的。

10。我想你以前有聽說(shuō)過(guò),就是對(duì)于一個(gè)開源的搜索引擎,是不是意味著同樣會(huì)給那些搞搜索引擎優(yōu)化(SEO)的黑客們有機(jī)可趁?

恩,有可能。
就說(shuō)利用反向工程破解的非開源搜索引擎中的最新的反垃圾信息檢測(cè)算法需要大概6個(gè)月的時(shí)間。對(duì)于一個(gè)開放源碼的搜索引擎來(lái)說(shuō),破解將會(huì)更快。但不管怎么說(shuō),那些制造垃圾信息者最終總能找到破解辦法,唯一的區(qū)別就是破解速度問題。所以最好的反垃圾信息技術(shù),不管開源也好閉源也好,就是讓別人知道了其中的機(jī)制之后也能繼續(xù)工作那一種。

還有,如果這六月中你是把檢測(cè)出來(lái)的垃圾信息從你的索引中移除,他們無(wú)計(jì)可施,他們只能改變他們的站點(diǎn)。如果你的垃圾信息檢測(cè)是基于對(duì)一些網(wǎng)站中好的和壞的例子的統(tǒng)計(jì)分析,你可以徹夜留意那些新的垃圾信息模式并在他們有機(jī)會(huì)反應(yīng)之前將他們移除。

開源會(huì)使得禁止垃圾信息的任務(wù)稍稍艱巨一點(diǎn),但不是使之成為不可能。況且,那些閉源的搜索引擎也并沒有秘密地解決這些問題。我想閉源的好處就是不讓我們看到它其實(shí)沒有我們想象的那么好。

11。Nutch和分布式的網(wǎng)絡(luò)爬蟲Grub相比怎么樣?你是怎么想這個(gè)問題的?

我能說(shuō)的就是,Grub是一個(gè)能夠讓網(wǎng)民們貢獻(xiàn)一點(diǎn)自己的硬件和帶寬給巨大的LookSmart的爬行任務(wù)的一個(gè)工程。它只有客戶端是開源,而服務(wù)端沒有。所以大家并不能配置自己的Grub服務(wù),也不能訪問到Grub收集的數(shù)據(jù)。

更一般意義的分布式網(wǎng)絡(luò)爬行又如何?當(dāng)一個(gè)搜索引擎變得很大的時(shí)候,其爬行上的代價(jià)相對(duì)搜索上需要付出的代價(jià)將是小巫見大巫。所以,一個(gè)分布式爬蟲并不能是顯著降低成本,相反它會(huì)使得一些已經(jīng)不是很昂貴的東西變得很復(fù)雜(筆者注:指pc和硬盤之類的硬件)。所以這不是一個(gè)便宜的買賣。

廣泛的分布式搜索是一件很有趣的事,但我不能肯定它能否實(shí)現(xiàn)并保持速度足夠的快。一個(gè)更快的搜索引擎就是一個(gè)更好的搜索引擎。當(dāng)大家可以任意快速更改查詢的時(shí)候,他們就更能在他們失去耐心之前頻繁找到他們所需的東西。但是,要建立一個(gè)不到1秒內(nèi)就可以搜索數(shù)以億計(jì)的網(wǎng)頁(yè)的廣泛的分布式搜索引擎是很難的一件事,因?yàn)槠渲芯W(wǎng)絡(luò)有很高的延時(shí)。大都的半秒時(shí)間或者像Google展示它的查詢那樣就是在一個(gè)數(shù)據(jù)中心的網(wǎng)絡(luò)延時(shí)。如果你讓同樣一個(gè)系統(tǒng)運(yùn)行在千家萬(wàn)戶的家里的PC上,即便他們用的是DSL和Cable上網(wǎng),網(wǎng)絡(luò)的延時(shí)將會(huì)更高從而使得一個(gè)查詢很可能要花上幾秒鐘甚至更長(zhǎng)的時(shí)間。從而他也不可能會(huì)是一個(gè)好的搜索引擎。

12。你反復(fù)強(qiáng)調(diào)速度對(duì)于搜索引擎的重要性,我經(jīng)常很迷惑Google怎么就能這么快地返回查詢結(jié)果。你認(rèn)為他們是怎么做到的呢?還有你在Nutch上的經(jīng)驗(yàn)看法如何?

我相信Google的原理和Nutch大抵相同:就是把查詢請(qǐng)求廣播到一些節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)返回一些頁(yè)面的頂級(jí)查詢結(jié)果。每個(gè)節(jié)點(diǎn)上保存著幾百萬(wàn)的頁(yè)面,這樣可以避免大多查詢的磁盤訪問,并且每個(gè)節(jié)點(diǎn)可以每秒同時(shí)處理成十上百的查詢。如果你想獲得數(shù)以億計(jì)的頁(yè)面,你可以把查詢廣播到成千的節(jié)點(diǎn)上。當(dāng)然這里會(huì)有不少網(wǎng)絡(luò)流量。

具體的在這篇文章www./ micro/mi2003/ m2022.pdf)中有所描述。

13。你剛才有提到垃圾信息,在Nutch里面是不是也有類似的算法?怎么區(qū)別垃圾信息模式比如鏈接場(chǎng)(Linkfarms)(筆者注:就是一群的網(wǎng)頁(yè)彼此互相鏈接,這是當(dāng)初在1999年被一幫搞SEO弄出來(lái)的針對(duì)lnktomi搜索引擎的使網(wǎng)頁(yè)的排名得到提高的一種Spamdexing方法)和那些正常的受歡迎的站點(diǎn)鏈接。

這個(gè),我們還沒有騰出時(shí)間做這塊。不過(guò),很顯然這是一個(gè)很重要的領(lǐng)域。在我們進(jìn)入鏈接場(chǎng)之前,我們需要做一些簡(jiǎn)單的事情:察看詞匯填充(Word stuffing)(筆者注:就是在網(wǎng)頁(yè)里嵌入一些特殊的詞匯,并且出現(xiàn)很多的次,甚至上百次,有些是人眼看不到的,比如白板寫白字等伎倆,這也是Spamdexing方法的一種),白板寫白字(White-on-white text),等等。

我想在一般意義上來(lái)說(shuō)(垃圾信息檢測(cè)是其中的一個(gè)子問題),搜索質(zhì)量的關(guān)鍵在于擁有一個(gè)對(duì)查詢結(jié)果手工可靠評(píng)估的輔助措施。這樣,我們可以訓(xùn)練一個(gè)排名算法從而產(chǎn)生更好的查詢結(jié)果(垃圾信息的查詢結(jié)果是一種壞的查詢結(jié)果)。商業(yè)的搜索引擎往往會(huì)雇傭一些人進(jìn)行可靠評(píng)估。Nutch也會(huì)這樣做,但很顯然我們不能只接受那些友情贊助的評(píng)估,因?yàn)槟切├畔⒅圃煺吆苋菀讜?huì)防止那些評(píng)估。因此我們需要一種手段去建立一套自愿評(píng)估者的信任體制。我認(rèn)為一個(gè)平等評(píng)論系統(tǒng)(peer-review system),有點(diǎn)像Slashdot的karma系統(tǒng), 應(yīng)該在這里很有幫助。

14。你認(rèn)為搜索引擎在不久的將來(lái)路在何方?你認(rèn)為從一個(gè)開發(fā)者的角度來(lái)看,最大的障礙將在哪里?

很抱歉,我不是一個(gè)想象力豐富的人。我的預(yù)測(cè)就是在未來(lái)的十年里web搜索引擎將和現(xiàn)在的搜索引擎相差無(wú)幾?,F(xiàn)在應(yīng)該屬于平穩(wěn)期。在最初的幾年里,網(wǎng)絡(luò)搜索引擎確實(shí)曾經(jīng)發(fā)展非常迅速。源于1994年的網(wǎng)絡(luò)爬蟲使用了標(biāo)準(zhǔn)的信息析取方法。直到1998年Google的出現(xiàn),其間更多的基于Web的方法得到了發(fā)展。從那以后,新方法的引入大大放慢了腳步。那些樹枝低的果實(shí)已被收獲。創(chuàng)新只有在剛發(fā)展的時(shí)候比較容易,越到后來(lái)越成熟,越不容易創(chuàng)新。網(wǎng)絡(luò)搜索引擎起源于上個(gè)世紀(jì)90年代,現(xiàn)在儼然已成一顆搖錢樹,將來(lái)很快會(huì)走進(jìn)人們的日常生活中。

至于開發(fā)上的挑戰(zhàn),我認(rèn)為操作上的可靠性將是一個(gè)大的挑戰(zhàn)。我們目前正在開發(fā)一個(gè)類似GFS(Google的文件系統(tǒng))的東西。它是巨型搜索引擎不可缺少的基石:你不能讓一個(gè)小組件的錯(cuò)誤導(dǎo)致一個(gè)大的癱瘓。你應(yīng)該很容易的讓系統(tǒng)擴(kuò)展,只需往硬件池里加更多硬件而不需繁縟的重新配置。還有,你不需要一大坨的操作人員完成,所有的一切將大都自己搞定。

----------------完----------------------
posted on 2006-08-02 06:07 Dedian 閱讀(2336) 評(píng)論(5)  編輯 收藏 引用 所屬分類: Web Digest
評(píng)論:
  • # re: Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā)  江南白衣 Posted @ 2006-08-09 09:58
    謝謝Dedian的翻譯:)  回復(fù)  更多評(píng)論   

  • # re: Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā)  Dedian Posted @ 2006-08-09 10:10
    原來(lái)你也一直在用Nutch...  回復(fù)  更多評(píng)論   

  • # re: Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā)  江南白衣 Posted @ 2006-08-11 13:55
    不是啊,這幾天才剛看的,菜鳥一名。  回復(fù)  更多評(píng)論   

  • # re: Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā)  eirc Posted @ 2006-12-29 10:40
    翻譯的不錯(cuò),thanks  回復(fù)  更多評(píng)論   

  • # re: Doug Cutting 訪談錄 -- 關(guān)于搜索引擎的開發(fā)  huxuanlai Posted @ 2007-01-26 15:01
    正要學(xué)lucene做站內(nèi)搜索,nutch也要看看,看到本文,頭腦清楚些
    表示感謝 并希望自己以后也能翻譯些文章 鼓勵(lì)開放共享精神  回復(fù)  更多評(píng)論   

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多