在網(wǎng)絡(luò)公司做過程序開發(fā)的朋友都知道,我們通常用的數(shù)據(jù)庫搜索技術(shù)就是把用戶輸入的詞匯,跟數(shù)據(jù)庫中的某個或多個字段里的內(nèi)容進(jìn)行比較,同樣,搜索引擎的運(yùn)行原理簡單來講也就是這樣:
用戶輸入一個詞匯,搜索引擎從他的數(shù)據(jù)庫中找到匹配的內(nèi)容,再以有序的排列展現(xiàn)給用戶,搜索引擎每天就是不厭其煩地不斷重復(fù)這些操作??此埔磺泻苷?,我們用數(shù)據(jù)來分析問題——
全球網(wǎng)民按20億計算,全球所有網(wǎng)站的網(wǎng)頁先假設(shè)是50億個
按每人每天搜索1次(也就是1個關(guān)鍵詞,假設(shè)都是不重復(fù)的)
那么搜索引擎每天要從50億個網(wǎng)頁中搜索比對20億個關(guān)鍵詞。
呃。。。。這個聽起來很恐怖,你能想象嗎?想象這個數(shù)據(jù)如此龐大,但搜索引擎每次的正常搜索時間都是不到一秒。的確,在這個過程中,按照我們傳統(tǒng)的全文搜索方式,是不現(xiàn)實(shí)的。仔細(xì)看下下圖,并注意“索引庫查詢”這幾個字。
在解釋什么是索引庫和索引庫在搜索引擎中起到什么作用前,我們同樣舉個形象的例子加以參考下:
我們在讀書時,老師在講課過程中,經(jīng)常會說,請同學(xué)們翻到第幾頁,看下第幾段,想起來了嗎?快樂并無奈的校園生活是否歷歷在目了~_~,言歸正傳。在老師發(fā)出讓你翻到第幾頁看第幾段這個指令時,就是一種索引在運(yùn)行了,這里的索引是第幾頁和第幾段,有了這兩個索引,即使你的書本厚達(dá)1000頁,也可以在短時間里定位到具體的那一段話。
而搜索引擎自己的索引庫的構(gòu)成元素就是很多個詞匯,漢字約有12W個,由這些漢字所組成的詞語將近10W個,再說說英文,英文26個字母,組成的詞匯暫且算作100W個吧,在講索引庫元素的排序方式之前,我們再進(jìn)行這段數(shù)據(jù)的分析:
中文:50億÷10W=5W
英文:50億÷100W=5000
搜索引擎處理5W或5000個記錄,是非常容易的一件事了。
明白了索引庫的重要性,再剖析下索引庫的構(gòu)成形式:
在搜索引擎看來,再華麗的網(wǎng)站,也是一堆代碼堆砌而成的,拿下文的代碼來看:
經(jīng)過搜索引擎的分析后,去除HTML代碼,留下的是這些詞匯,
那么其中的這些詞匯就會進(jìn)入到搜索引擎的索引庫當(dāng)中,而這些進(jìn)入索引庫的每個詞匯后面又有很多個網(wǎng)站,就好比新華字典的目錄索引頁一樣,筆畫數(shù)是10的,通過索引快速查到,筆畫數(shù)是20的,也可以通過索引快速查到。
搜索引擎就是通過建立這樣的索引庫,才能在用戶搜索某個關(guān)鍵詞時,快速做出返回頁面的查詢。(而至于排名的前后,我們不在本文中多說了)
再來簡單講下分詞,上面提到的多少多少個詞匯,這個就是分詞了,但這些是通過我們?nèi)搜叟袛嗟?,搜索引擎是如何進(jìn)行分詞的呢?搜索引擎再厲害,也只是程序,谷歌的中文分詞技術(shù)是購買第三方公司得來的,而百度的分詞技術(shù)是自創(chuàng)的,我們可以理解為百度事先把幾W個詞錄進(jìn)去,也可能是通過漢字的一定排列方式自由組合而成,這個不是我們關(guān)心和所能研究的,我們要了解的僅僅是分詞這個概念。
了解了分詞這個概念后,在我們做SEO時,也一定要通過搜索引擎的角度,讓自己從網(wǎng)頁的表面看到底層的收錄抓取原理。
相關(guān)閱讀
《如何通過規(guī)范URL來建立與搜索引擎的友好》
【尊重原創(chuàng),分享觀點(diǎn)。來自芝麻開門網(wǎng)絡(luò)科技原創(chuàng)文章,轉(zhuǎn)載請標(biāo)明文章來源 — 】
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!