觸屏版
全國(guó)服務(wù)熱線:0571-87205688
登錄
注冊(cè)
客戶中心
關(guān)注云客
搜索引擎的核心技術(shù)架構(gòu),大體包括以下三塊:第一,是蜘蛛/爬蟲(chóng)技術(shù);第二,是索引技術(shù);第三是查詢展現(xiàn)的技術(shù); 當(dāng)然,我不是搜索引擎的架構(gòu)師,我只能用比較粗淺的方式來(lái)做一個(gè)結(jié)構(gòu)的切分。
1、 蜘蛛,也叫爬蟲(chóng),是將互聯(lián)網(wǎng)的信息,抓取并存儲(chǔ)的一種技術(shù)實(shí)現(xiàn)。
搜索引擎的信息收錄,很多不明所以的人會(huì)有很多誤解,以為是付費(fèi)收錄,或者有什么其他特殊的提交技巧,其實(shí)并不是,搜索引擎通過(guò)互聯(lián)網(wǎng)一些公開(kāi)知名的網(wǎng)站,抓取內(nèi)容,并分析其中的鏈接,然后有選擇的抓取鏈接里的內(nèi)容,然后再分析其中的鏈接,以此類(lèi)推,通過(guò)有限的入口,基于彼此鏈接,形成強(qiáng)大的信息抓取能力。
有些搜索引擎本身也有鏈接提交入口,但基本上,不是主要的收錄入口,不過(guò)作為創(chuàng)業(yè)者,建議了解一下相關(guān)信息,百度,google都有站長(zhǎng)平臺(tái)和管理后臺(tái),這里很多內(nèi)容是需要非常非常認(rèn)真的對(duì)待的。
反過(guò)來(lái)說(shuō),在這樣的原理下,一個(gè)網(wǎng)站,只有被其他網(wǎng)站所鏈接,才有機(jī)會(huì)被搜索引擎抓取。如果這個(gè)網(wǎng)站沒(méi)有外部鏈接,或者外部鏈接在搜索引擎中被認(rèn)為是垃圾或無(wú)效鏈接,那么搜索引擎可能就不抓取他的頁(yè)面。
分析和判斷搜索引擎是否抓取了你的頁(yè)面,或者什么時(shí)候抓取你的頁(yè)面,只能通過(guò)服務(wù)器上的訪問(wèn)日志來(lái)查詢,如果是cdn就比較麻煩。 而基于網(wǎng)站嵌入代碼的方式,不論是cnzz,百度統(tǒng)計(jì),還是google analytics,都無(wú)法獲得蜘蛛抓取的信息,因?yàn)檫@些信息不會(huì)觸發(fā)這些代碼的執(zhí)行。
一個(gè)比較推薦的日志分析軟件是awstats。
在十多年前,分析百度蜘蛛抓取軌跡和更新策略,是很多草根站長(zhǎng)每日必做的功課,比如現(xiàn)在身價(jià)幾十億的知名80后上市公司董事長(zhǎng),當(dāng)年在某站長(zhǎng)論壇就是以此準(zhǔn)確的分析判斷而封神,很年輕的時(shí)候就已經(jīng)是站長(zhǎng)圈的一代偶像。
但關(guān)于蜘蛛的話題,并不只基于鏈接抓取這么簡(jiǎn)單,延伸來(lái)說(shuō)
第一,網(wǎng)站擁有者可以選擇是否允許蜘蛛抓取,有一個(gè)robots.txt的文件是來(lái)控制這個(gè)的。
一個(gè)經(jīng)典案例是 https://www.taobao.com/robots.txt
你會(huì)看到,淘寶至今仍有關(guān)鍵目錄不對(duì)百度蜘蛛開(kāi)放,但對(duì)google開(kāi)放。
另一個(gè)經(jīng)典案例是 http://www.baidu.com/robots.txt
你看出什么了?你可能什么都沒(méi)看出來(lái),我提醒一句,百度實(shí)質(zhì)上全面禁止了360的蜘蛛抓取。
但這個(gè)協(xié)議只是約定俗成,實(shí)際上并沒(méi)有強(qiáng)制約束力,所以,你們猜猜,360遵守了百度的蜘蛛抓取禁止么?
第二,最早抓取是基于網(wǎng)站彼此的鏈接為入口,但實(shí)際上,并不能肯定的說(shuō),有可能存在其他抓取入口,比如說(shuō),
客戶端插件或?yàn)g覽器, 免費(fèi)網(wǎng)站統(tǒng)計(jì)系統(tǒng)的嵌入式代碼。
會(huì)不會(huì)成為蜘蛛抓取的入口,我只能說(shuō),有這個(gè)可能。
所以我跟很多創(chuàng)業(yè)者說(shuō),中國(guó)做網(wǎng)站,放百度統(tǒng)計(jì),海外做網(wǎng)站,放google analytics,是否會(huì)增加搜索引擎對(duì)你網(wǎng)站的收錄?我只能說(shuō)猜測(cè),有這個(gè)可能。
第三,無(wú)法被抓取的信息
有些網(wǎng)站的內(nèi)容鏈接,用一些javascript特殊效果完成,比如浮動(dòng)的菜單等等,這種連接,有可能搜索引擎的蜘蛛程序不識(shí)別,當(dāng)然,我只是說(shuō)有可能,現(xiàn)在搜索引擎比以前聰明,十多年前很多特效鏈接是不識(shí)別的,現(xiàn)在會(huì)好一些。
需要登錄,需要注冊(cè)才能訪問(wèn)的頁(yè)面,蜘蛛是無(wú)法進(jìn)入的,也就是無(wú)法收錄。
有些網(wǎng)站會(huì)給搜索特殊頁(yè)面,就是蜘蛛來(lái)能看到內(nèi)容(蜘蛛訪問(wèn)會(huì)有特殊的客戶端標(biāo)記,服務(wù)端識(shí)別和處理并不復(fù)雜),人來(lái)了要登錄才能看,但這樣做其實(shí)是違反了收錄協(xié)議(需要人和蜘蛛看到的同樣的內(nèi)容,這是絕大部分搜索引擎的收錄協(xié)議),有可能遭到搜索引擎處罰。
所以一個(gè)社區(qū)要想通過(guò)搜索引擎帶來(lái)免費(fèi)用戶,必須讓訪客能看到內(nèi)容,哪怕是部分內(nèi)容。
帶很多復(fù)雜參數(shù)的內(nèi)容鏈接url,有可能被蜘蛛當(dāng)作重復(fù)頁(yè)面,拒絕收錄。
很多動(dòng)態(tài)頁(yè)面是一個(gè)腳本程序帶參數(shù)體現(xiàn)的,但蜘蛛發(fā)現(xiàn)同一個(gè)腳本有大量參數(shù)的網(wǎng)頁(yè),有時(shí)候會(huì)給該網(wǎng)頁(yè)的價(jià)值評(píng)估帶來(lái)困擾,蜘蛛可能會(huì)認(rèn)為這個(gè)網(wǎng)頁(yè)是重復(fù)頁(yè)面,而拒絕收錄。還是那句話,隨著技術(shù)的發(fā)展,蜘蛛對(duì)動(dòng)態(tài)腳本的參數(shù)識(shí)別度有了很大進(jìn)步,現(xiàn)在基本上可以不用考慮這個(gè)問(wèn)題。
但這個(gè)催生了一個(gè)技術(shù),叫做偽靜態(tài)化,通過(guò)對(duì)web服務(wù)端做配置,讓用戶訪問(wèn)的頁(yè)面,url格式看上去是一個(gè)靜態(tài)頁(yè),其實(shí)后面是一個(gè)正則匹配,實(shí)際執(zhí)行的是一個(gè)動(dòng)態(tài)腳本。
很多社區(qū)論壇為了追求免費(fèi)搜索來(lái)路,做了偽靜態(tài)化處理,在十多年前,幾乎是草根站長(zhǎng)必備技能之一。
爬蟲(chóng)技術(shù)暫時(shí)說(shuō)到這里,但是這里強(qiáng)調(diào)一下,有外鏈,不代表搜索蜘蛛會(huì)來(lái)爬取,搜索蜘蛛爬取了,不代表搜索引擎會(huì)收錄;搜索引擎收錄了,不代表用戶可以搜索的到;
site語(yǔ)法是檢查一個(gè)網(wǎng)站收錄數(shù)的最基本搜索語(yǔ)法,我開(kāi)始以為是abc的常識(shí),直到在新加坡做一些創(chuàng)業(yè)培訓(xùn)后交流才發(fā)現(xiàn),大部分剛進(jìn)入這個(gè)行業(yè)的人,或者有興趣進(jìn)入這個(gè)行業(yè)的人,對(duì)此并不了解。
一個(gè)范例,百度搜索一下 site:4399.com
2、索引系統(tǒng)
蜘蛛抓取的是網(wǎng)頁(yè)的內(nèi)容,那么要想讓用戶快速的通過(guò)關(guān)鍵詞搜索到這個(gè)網(wǎng)頁(yè),就必須對(duì)網(wǎng)頁(yè)做關(guān)鍵詞的索引,從而提升查詢效率,簡(jiǎn)單說(shuō)就是,把網(wǎng)頁(yè)的每個(gè)關(guān)鍵詞提取出來(lái),并針對(duì)這些關(guān)鍵詞在網(wǎng)頁(yè)中的出現(xiàn)頻率,位置,特殊標(biāo)記等諸多因素,給予不同的權(quán)值標(biāo)定,然后,存儲(chǔ)到索引庫(kù)中。
那么問(wèn)題來(lái)了,什么是關(guān)鍵詞。
英文來(lái)說(shuō),比如 this is a book,中文,這是一本書(shū)。
英文很自然是四個(gè)單詞,空格是天然的分詞符,中文呢?你不能把一句話當(dāng)作關(guān)鍵詞吧(如果把一句話當(dāng)作關(guān)鍵詞,那么你搜索其中部分信息的時(shí)候,是無(wú)法索引命中的,比如搜索一本書(shū),就搜索不出來(lái)了,而這顯然是不符合搜索引擎訴求的)。所以要分詞。
最開(kāi)始,最簡(jiǎn)單的思路是,每個(gè)字都切開(kāi),這個(gè)以前叫字索引,每個(gè)字建立索引,并標(biāo)注位置,如果用戶搜索一個(gè)關(guān)鍵詞,也是把關(guān)鍵詞拆成字來(lái)搜索再組合結(jié)果,但這樣問(wèn)題就來(lái)了。
比如搜索關(guān)鍵詞 “海鮮”的時(shí)候,會(huì)出現(xiàn)結(jié)果,上海鮮花,這顯然不是應(yīng)該的搜索結(jié)果。
比如搜索關(guān)鍵詞 “和服”的時(shí)候,會(huì)出現(xiàn)結(jié)果,交換機(jī)和服務(wù)器。
這些都是蠻荒期的google也不能幸免的問(wèn)題。
到后來(lái)有個(gè)梗,別笑,這些都是血淚梗,半夜電話過(guò)來(lái),說(shuō)網(wǎng)監(jiān)通過(guò)搜索發(fā)現(xiàn)你社區(qū)有淫穢內(nèi)容要求必須刪除,否則就關(guān)閉你的網(wǎng)站,夜半驚醒認(rèn)真排查,百思不得其解,苦苦哀求提供信息線索,最后發(fā)現(xiàn),有人發(fā)了一條小廣告,“求購(gòu)二十四口交換機(jī)” 。 還有,涉嫌政治敏感,查到最后 “提供三臺(tái)獨(dú)立服務(wù)器”, 看出其中敏感詞了沒(méi)?你說(shuō)冤不冤。 這兩個(gè)故事可能并不是真的,因?yàn)槎际蔷W(wǎng)上看到的,但是我想說(shuō),類(lèi)似這樣的事情真的有,并非都是空穴來(lái)風(fēng)。
所以,分詞,是亞洲很多語(yǔ)言需要額外處理的事情,而西方語(yǔ)言不存在的問(wèn)題。
但分詞不是說(shuō)說(shuō)那么簡(jiǎn)單,比如幾點(diǎn),1:如何識(shí)別人名?2、互聯(lián)網(wǎng)新詞如何識(shí)別?比如 “不明覺(jué)厲”。3、中英混排的坑,比如QQ表情。
做一個(gè)分詞系統(tǒng),說(shuō)到底也不難,但是要做一個(gè)自動(dòng)學(xué)習(xí),與時(shí)俱進(jìn),又能高效率靈活的分詞引擎,還是很有技術(shù)難度的。 當(dāng)然,這方面我不是專(zhuān)家,不敢妄言了。
現(xiàn)在機(jī)器學(xué)習(xí)技術(shù)發(fā)達(dá)了,特別是google在深度學(xué)習(xí)領(lǐng)域擁有領(lǐng)先優(yōu)勢(shì),以前很多通過(guò)人工做標(biāo)定,做分類(lèi)的工作可以交給算法完成,從某種意義來(lái)說(shuō),本地化的工作可以讓機(jī)器學(xué)習(xí)去完成;未來(lái),也許深度學(xué)習(xí)技術(shù)可以自己學(xué)習(xí)掌握本地化的技巧。 但我想說(shuō)兩點(diǎn),第一,從搜索引擎發(fā)展歷史看,在深度學(xué)習(xí)技術(shù)還沒(méi)成熟的情況下,本地化的工作是非常重要的,也是很重要的決定競(jìng)爭(zhēng)成敗的要素;第二,即便現(xiàn)在深度學(xué)習(xí)已經(jīng)很強(qiáng)大,基于當(dāng)?shù)卣Z(yǔ)言的人工參與,標(biāo)定,測(cè)試,反饋,一些本地化的工作依然對(duì)深度學(xué)習(xí)的效率和效果擁有不可替代的作用。
索引系統(tǒng)除了分詞之外,還有一些要點(diǎn),比如實(shí)時(shí)索引,因?yàn)橐淮嗡饕龓?kù)的更新是個(gè)大動(dòng)靜,一般網(wǎng)站運(yùn)營(yíng)者知道,自己網(wǎng)站內(nèi)容更新后,需要等索引庫(kù)下一次更新才能看到效果,而且索引庫(kù)針對(duì)不同權(quán)重的網(wǎng)站內(nèi)容,更新的頻次也不太一樣。 但諸如一些高優(yōu)先的資訊網(wǎng)站,以及新聞搜索,索引庫(kù)是可以做到近似實(shí)時(shí)索引的,所以我們?cè)谛侣勊阉骼?,幾分鐘前的信息就已?jīng)可以搜索到了。
我以前經(jīng)常吐槽一個(gè)事情,我在百度空間發(fā)表的文章,每次都是google率先索引收錄,當(dāng)時(shí)他們的解釋是,猜測(cè)是因?yàn)楹芏嗳送ㄟ^(guò)google閱讀器訂閱我的博客,而google閱讀器很可能是google快速索引的入口。(然并卵,百度空間已經(jīng)沒(méi)有了,google閱讀器也沒(méi)有了。)
索引系統(tǒng)的權(quán)值體系,是所有SEOER們最關(guān)心的問(wèn)題,他們經(jīng)常通過(guò)不同方式組合策略,觀察搜索引擎的收錄,排名,來(lái)路情況,然后通過(guò)對(duì)比分析整理出相關(guān)的策略,這玩意說(shuō)出來(lái)可以開(kāi)很長(zhǎng)一篇了,但今天就不提了。
但我說(shuō)一個(gè)事實(shí),很多外面的公司,做SEO的,會(huì)誤認(rèn)為百度里面的人熟悉這里的門(mén)道和規(guī)律,很多人高價(jià)去挖百度的搜索產(chǎn)品經(jīng)理和技術(shù)工程師去做SEO,結(jié)果,呵呵,呵呵。 而外面那些草根創(chuàng)業(yè)者,有些善于此道的,真的比百度的人還清楚,搜索權(quán)值的影響關(guān)系,和更新頻次等等,比如前面說(shuō)到的,身價(jià)幾十億的那個(gè)80后創(chuàng)業(yè)者。
基于結(jié)果反推策略,比身在其中卻不識(shí)全局的參與者,更能找到系統(tǒng)的關(guān)鍵點(diǎn),有意思不。
3、查詢展現(xiàn)
用戶在瀏覽器或者在手機(jī)客戶端輸入一個(gè)關(guān)鍵詞,或者幾個(gè)關(guān)鍵詞,甚至一句話,這個(gè)在服務(wù)端,應(yīng)答程序獲取后處理步驟如下
第一步,會(huì)檢查最近時(shí)間有沒(méi)有人搜索過(guò)同樣的關(guān)鍵詞,如果存在這樣的緩存,最快的處理是將這塊緩存提供給你,這樣查詢效率最高,對(duì)后端負(fù)載壓力最低。
第二步,發(fā)現(xiàn)這個(gè)輸入查詢最近沒(méi)有搜索,或者有其他條件的原因必須更新結(jié)果,那么會(huì)將這個(gè)用戶輸入的詞,進(jìn)行分詞,沒(méi)錯(cuò),如果不止一個(gè)關(guān)鍵詞,或者是一句話的情況下,應(yīng)答程序會(huì)又一次分詞,將搜索的查詢拆成幾個(gè)不同的關(guān)鍵詞。
第三步,將切分后的關(guān)鍵詞分發(fā)到查詢系統(tǒng)中,查詢系統(tǒng)會(huì)去索引庫(kù)查詢,索引庫(kù)是個(gè)龐大的分布式系統(tǒng),先分析這個(gè)關(guān)鍵詞屬于哪一塊哪一臺(tái)服務(wù)器,索引是一種有序的數(shù)據(jù)組合,我們用可以用近似二分法的方式思考,不管數(shù)據(jù)規(guī)模多大,你用二分法去查找一個(gè)結(jié)果,查詢頻次是log2(N),這個(gè)就保證了海量數(shù)據(jù)下,查詢一個(gè)關(guān)鍵詞是非??旆浅?斓?。 當(dāng)然,實(shí)際情況會(huì)比二分法復(fù)雜很多,這樣說(shuō)比較容易理解而已,再?gòu)?fù)雜些不是我不告訴大家,是我自己都不是很清楚呢。
第四步,不同關(guān)鍵詞的查詢結(jié)果(只是按權(quán)值排序的部分頂部結(jié)果,絕對(duì)不是全部結(jié)果),基于權(quán)值倒序,會(huì)再匯總在一起,然后把共同命中的部分反饋回來(lái),并做最后的權(quán)值排序。
記住,搜索引擎絕對(duì)不會(huì)返回所有結(jié)果,這個(gè)開(kāi)銷(xiāo)誰(shuí)都受不了,百度也不行,google也不行,翻頁(yè)都是有限制的。
再記住,如果你多個(gè)關(guān)鍵詞里有多個(gè)不同品類(lèi)冷門(mén)詞,搜索引擎有可能會(huì)舍棄其中一個(gè)冷門(mén)詞,因?yàn)閰R總數(shù)據(jù)很可能不包含共同結(jié)果。搜索技術(shù)不要神話,這樣的范例偶爾會(huì)出現(xiàn)。
這是三大部分,多說(shuō)一點(diǎn),其實(shí)還有第四部分。
用戶點(diǎn)擊行為采集和反饋部分
基于用戶的翻頁(yè),點(diǎn)擊分布,對(duì)搜索結(jié)果的優(yōu)劣做判定,并對(duì)權(quán)值做調(diào)整,但這個(gè)早期搜索引擎是沒(méi)有的,后面才有,所以暫時(shí)不列為必備的三大塊。
此外,一些對(duì)搜索優(yōu)化的機(jī)器學(xué)習(xí)策略,對(duì)易混詞識(shí)別,同音詞識(shí)別等等,相當(dāng)部分也都基于用戶行為反饋進(jìn)行,這是后話,這里不展開(kāi)。
關(guān)于第四部分,我以前說(shuō)過(guò)一個(gè)詞,點(diǎn)擊提權(quán),我說(shuō)這個(gè)詞價(jià)值千金,我猜很多人并沒(méi)理解。沒(méi)理解就好,要不我要被一些同行罵死了。
以上是單指搜索引擎的工作原理,和一些技術(shù)邏輯,當(dāng)然,只是入門(mén)級(jí)的解讀,畢竟再深入就不是我能講解的了。
但搜索引擎的本地化,并不局限于搜索技術(shù)的本地化。
百度的強(qiáng)大,不只是搜索技術(shù),當(dāng)然有些人會(huì)說(shuō)百度沒(méi)有搜索技術(shù),這種言論我就不爭(zhēng)論了,我不試圖改變?nèi)魏稳说挠^點(diǎn),我只列一些事實(shí)而已。
百度的強(qiáng)大還來(lái)自于兩大塊,第一是內(nèi)容護(hù)城河,第二是入口把控。
前者是百度貼吧,百度mp3,百度知道,百度百科,百度文庫(kù)
后者是hao123和百度聯(lián)盟。
這兩塊都是本地化,google進(jìn)中國(guó)的時(shí)候,在這兩塊都有動(dòng)作
投資天涯,收購(gòu)265,以及大力發(fā)展google聯(lián)盟,這些都是本地化。
此外,重申一下,百度全家桶的出現(xiàn)以及,百度全家桶和hao123的捆綁,是360崛起之后的事情,hao123從百度收購(gòu)到360崛起之前,一直風(fēng)平浪靜的沒(méi)做任何推廣和捆綁,從歷史事實(shí)而言,請(qǐng)勿將本地化等同于流氓化。
簡(jiǎn)要介紹搜索引擎給網(wǎng)站排名的過(guò)程
企業(yè)為什么要做SEO?怎么做SEO搜索引擎優(yōu)化?
分享上海SEO專(zhuān)家的站外優(yōu)化策略——SEO公司
精準(zhǔn)關(guān)鍵詞優(yōu)化使SEO效果更加明顯
今后的SEO優(yōu)化需結(jié)合UX搜索體驗(yàn)優(yōu)化才能提升轉(zhuǎn)化量
企業(yè)為什么要做SEO優(yōu)化推廣呢? 企業(yè)老板必看
企業(yè)網(wǎng)站SEO應(yīng)該將內(nèi)容精簡(jiǎn)化結(jié)構(gòu)自然化
SEO建議做網(wǎng)站優(yōu)化不要只考慮搜索排名
網(wǎng)站關(guān)鍵詞在優(yōu)化中的正面因素 | SEO公司關(guān)鍵詞優(yōu)化
SEO優(yōu)化與百度SEM付費(fèi)推廣的區(qū)別 | 僅從一年的費(fèi)用投入來(lái)比較
評(píng)論(0人參與,0條評(píng)論)
發(fā)布評(píng)論
最新評(píng)論