學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦知識大全>

程序員必須知道的電腦知識(3)

時(shí)間: 廣達(dá)646 分享

  再講一個(gè)搜索引擎的故事

  很久以前,我要給一個(gè)程序添加搜索功能。剛開始使用sql查詢實(shí)現(xiàn),發(fā)現(xiàn)實(shí)在太慢了。后來找了開源的Lucene項(xiàng)目。它使用反向索引技術(shù),通過在文件中創(chuàng)建反向索引,大大提高了搜索速度。

  Google的兩位創(chuàng)始人發(fā)現(xiàn)了html中l(wèi)ink的秘密,他們發(fā)現(xiàn)可以通過html頁面的link關(guān)系來為每一個(gè)html頁面設(shè)置權(quán)重。也就是PageRank算法。于是,Google的自動搜索引擎擊敗了Yahoo人工分類的搜索引擎。

  OK,利用反向索引技術(shù)和PageRank,以及一個(gè)簡單的html爬蟲機(jī)器人,我們就可以創(chuàng)建一個(gè)搜索引擎了。但是,互聯(lián)網(wǎng)很大,每天產(chǎn)生大量新網(wǎng)頁,要為整個(gè)互聯(lián)網(wǎng)建立反向索引是很困難的。

  若干年后Google又公開了三篇論文:Googlefs、Mapreduce、Bigtable。于是Lucene項(xiàng)目的開發(fā)者根據(jù)Google的Mapreduce論文開發(fā)了Hadoop項(xiàng)目。MapReduce就是使用大量計(jì)算機(jī)存儲數(shù)據(jù)并計(jì)算,最后匯總結(jié)果。使用Hadoop+反向索引+PageRank,就可以創(chuàng)建搜索引擎了。Yahoo,Baidu等公司紛紛基于Hadoop開發(fā)了自己的搜索引擎。

  但是,其他公司的搜索引擎效果還是沒法和Google相比。這一點(diǎn)我們程序員最清楚。像我,就總是翻薔出去,只為了Google一下。

  Google黑板報(bào)上發(fā)表了吳軍博士的一些文章,其中介紹了很多機(jī)器學(xué)習(xí)方面的知識。從文中可以知道,Google其實(shí)使用機(jī)器學(xué)習(xí)來分析搜集到的頁面。Google明顯不會把這個(gè)公式公開出來。即使有一天Google真的公開了這個(gè)公式,那么可以想見Google肯定又研發(fā)出了更加犀利的秘籍,山寨貨的搜索引擎效果還是比不上Google的。

  山寨是通向創(chuàng)新的必由之路。在成為領(lǐng)域的領(lǐng)頭羊和領(lǐng)導(dǎo)者之前,必然要經(jīng)過學(xué)習(xí),模仿的階段。但要成為行業(yè)的老大,成為Champion,必須勇于彎道超車,勇敢地走上創(chuàng)新之路,成為真正的科學(xué)家,真正的大牛!

  總結(jié)

  編程能力可分為兩個(gè)維度:一個(gè)是編程技能水平,另一個(gè)是領(lǐng)域知識水平。

  有些程序員可能把精力都花在提升編程技能上了,領(lǐng)域知識知之甚少,這其實(shí)在日常工作中也是極其有害的。有些需求可能早已經(jīng)有了現(xiàn)成、開源免費(fèi)的解決方案,或者只需要組合幾個(gè)現(xiàn)有軟件就可以快速搞定,而他們卻不得不自己花大量時(shí)間去開發(fā)。另外,缺少領(lǐng)域知識,在程序出現(xiàn)非預(yù)期狀況時(shí),很難快速定位到問題的根源,很難解決bug。

程序員必須知道的電腦知識(3)

再講一個(gè)搜索引擎的 故事 : 很久以前,我要給一個(gè)程序添加搜索功能。剛開始使用sql查詢實(shí)現(xiàn),發(fā)現(xiàn)實(shí)在太慢了。后來找了開源的Lucene項(xiàng)目。它使用反向
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • 電腦CPU的相關(guān)知識
    電腦CPU的相關(guān)知識

    CPU你了解嗎?你知道有關(guān)的CPU知識嗎?CPU是電腦性能最重要配件之一,因此,了解一定的CPU知識是非常必要的,下面學(xué)習(xí)啦小編就為大家一介紹一下關(guān)于CPU的

  • 不能訪問google怎么辦
    不能訪問google怎么辦

    我們知道已經(jīng)很久不能打開谷歌主頁了,google進(jìn)不去怎么辦?有什么方法可以強(qiáng)制進(jìn)入呢?下面學(xué)習(xí)啦小編就為大家介紹谷歌不能訪問的最新最有效的解決辦

  • 360云盤怎么找資源
    360云盤怎么找資源

    360云盤中集中了大量資源,但是很多用戶卻不知道如何搜索這些精彩資源。360云盤資源搜索方法一般分為兩種,一種是直接在網(wǎng)頁上搜索,還有就是通過群

  • 360瀏覽器如何清理緩存
    360瀏覽器如何清理緩存

    我們都知道,瀏覽器用著用著上面存在的垃圾就會越來越多,然而清理緩存也就變得非常重要了,我們大家都知道緩存如果不清理的話有時(shí)候會導(dǎo)致一些網(wǎng)

332885