關(guān)于百度以及其它搜索引擎的工作原理,其實(shí)大家已經(jīng)討論過很多,但隨著科技的進(jìn)步、互聯(lián)網(wǎng)業(yè)的發(fā)展,各家搜索引擎都發(fā)生著巨大的變化,并且這些變化都是飛快的。我們設(shè)計(jì)這個章節(jié)的目的,除了從官方的角度發(fā)出一些聲音、糾正一些之前的誤讀外,還希望通過不斷更新內(nèi)容,與百度搜索引擎發(fā)展保持同步,給各位站長帶來最新的、與百度高相關(guān)的信息。
本章主要內(nèi)容分為四個章節(jié),分別為:抓取建庫;檢索排序;外部投票;結(jié)果展現(xiàn)。
第一節(jié)-抓取建庫
spider抓取系統(tǒng)的基本框架
互聯(lián)網(wǎng)信息爆發(fā)式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環(huán)節(jié)。數(shù)據(jù)抓取系統(tǒng)作為整個搜索系統(tǒng)中的上游,主要負(fù)責(zé)互聯(lián)網(wǎng)信息的搜集、保存、更新環(huán)節(jié),它像蜘蛛一樣在網(wǎng)絡(luò)間爬來爬去,因此通常會被叫做“spider”。例如我們常用的幾家通用搜索引擎蜘蛛被稱為:baiduspdier、Googlebot、Sogou Web Spider等。
Spider抓取系統(tǒng)是搜索引擎數(shù)據(jù)來源的重要保證,如果把web理解為一個有向圖,那么spider的工作過程可以認(rèn)為是對這個有向圖的遍歷。從一些重要的種子 URL開始,通過頁面上的超鏈接關(guān)系,不斷的發(fā)現(xiàn)新URL并抓取,盡最大可能抓取到更多的有價值網(wǎng)頁。對于類似百度這樣的大型spider系統(tǒng),因?yàn)槊繒r 每刻都存在網(wǎng)頁被修改、刪除或出現(xiàn)新的超鏈接的可能,因此,還要對spider過去抓取過的頁面保持更新,維護(hù)一個URL庫和頁面庫。
下圖為spider抓取系統(tǒng)的基本框架圖,其中包括鏈接存儲系統(tǒng)、鏈接選取系統(tǒng)、DNS解析服務(wù)系統(tǒng)、抓取調(diào)度系統(tǒng)、網(wǎng)頁分析系統(tǒng)、鏈接提取系統(tǒng)、鏈接分析系統(tǒng)、網(wǎng)頁存儲系統(tǒng)。Baiduspider即是通過這種系統(tǒng)的通力合作完成對互聯(lián)網(wǎng)頁面的抓取工作。
Baiduspider 主要抓取策略類型
上圖看似簡單,但其實(shí)Baiduspider在抓取過程中面對的是一個超級復(fù)雜的網(wǎng)絡(luò)環(huán)境,為了使系統(tǒng)可以抓取到盡可能多的有價值資源并保持系統(tǒng)及實(shí)際環(huán)境中頁面的一致性同時不給網(wǎng)站體驗(yàn)造成壓力,會設(shè)計(jì)多種復(fù)雜的抓取策略。以下做簡單介紹:
1、抓取友好性
互聯(lián)網(wǎng)資源龐大的數(shù)量級,這就要求抓取系統(tǒng)盡可能的高效利用帶寬,在有限的硬件和帶寬資源下盡可能多的抓取到有價值資源。這就造成了另一個問題,耗費(fèi)被抓網(wǎng)站的帶寬造成訪問壓力,如果程度過大將直接影響被抓網(wǎng)站的正常用戶訪問行為。因此,在抓取過程中就要進(jìn)行一定的抓取壓力控制,達(dá)到既不影響網(wǎng)站的正常用戶訪問又能盡量多的抓取到有價值資源的目的。
通常情況下,最基本的是基于IP的壓力控制。這是因?yàn)槿绻?a href="http://headlineschannel.com/tags-213.html" target="_blank">域名,可能存在一個域名對多個ip(很多大網(wǎng)站)或多個域名對應(yīng)同一個ip(小網(wǎng)站共享ip)的問題。實(shí)際中,往往根據(jù)ip及域名的多種條件進(jìn)行壓力調(diào)配控制。同時,站長平臺也推出了壓力反饋工具,站長可以人工調(diào)配對自己網(wǎng)站的抓取壓力,這時百度spider將優(yōu)先按照站長的要求進(jìn)行抓取壓力控制。
對同一個站點(diǎn)的抓取速度控制一般分為兩類:其一,一段時間內(nèi)的抓取頻率;其二,一段時間內(nèi)的抓取流量。同一站點(diǎn)不同的時間抓取速度也會不同,例如夜深人靜月黑風(fēng)高時候抓取的可能就會快一些,也視具體站點(diǎn)類型而定,主要思想是錯開正常用戶訪問高峰,不斷的調(diào)整。對于不同站點(diǎn),也需要不同的抓取速度。
2、常用抓取返回碼示意
簡單介紹幾種百度支持的返回碼:
1)最常見的404代表“NOT FOUND”,認(rèn)為網(wǎng)頁已經(jīng)失效,通常將在庫中刪除,同時短期內(nèi)如果spider再次發(fā)現(xiàn)這條url也不會抓;
2)503代表“Service Unavailable”,認(rèn)為網(wǎng)頁臨時不可訪問,通常網(wǎng)站臨時關(guān)閉,帶寬有限等會產(chǎn)生這種情況。對于網(wǎng)頁返回503狀態(tài)碼,百度spider不會把這條url直接刪除,同時短期內(nèi)將會反復(fù)訪問幾次,如果網(wǎng)頁已恢復(fù),則正常抓;如果繼續(xù)返回503,那么這條url仍會被認(rèn)為是失效鏈接,從庫中刪除。
3)403代表“Forbidden”,認(rèn)為網(wǎng)頁目前禁止訪問。如果是新url,spider暫時不抓取,短期內(nèi)同樣會反復(fù)訪問幾次;如果是已收錄url,不會直接刪除,短期內(nèi)同樣反復(fù)訪問幾次。如果網(wǎng)頁正常訪問,則正常抓取;如果仍然禁止訪問,那么這條url也會被認(rèn)為是失效鏈接,從庫中刪除。
4)301代表是“Moved Permanently”,認(rèn)為網(wǎng)頁重定向至新url。當(dāng)遇到站點(diǎn)遷移、域名更換、站點(diǎn)改版的情況時,我們推薦使用301返回碼,同時使用站長平臺網(wǎng)站改版工具,以減少改版對網(wǎng)站流量造成的損失。
3、多種url重定向的識別
互聯(lián)網(wǎng)中一部分網(wǎng)頁因?yàn)楦鞣N各樣的原因存在url重定向狀態(tài),為了對這部分資源正常抓取,就要求spider對url重定向進(jìn)行識別判斷,同時防止作弊行為。重定向可分為三類:HTTP 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical標(biāo)簽,在效果上可以認(rèn)為也是一種間接的重定向。
4、抓取優(yōu)先級調(diào)配
由于互聯(lián)網(wǎng)資源規(guī)模的巨大以及迅速的變化,對于搜索引擎來說全部抓取到并合理的更新保持一致性幾乎是不可能的事情,因此這就要求抓取系統(tǒng)設(shè)計(jì)一套合理的抓取優(yōu)先級調(diào)配策略。主要包括:深度優(yōu)先遍歷策略、寬度優(yōu)先遍歷策略、pr優(yōu)先策略、反鏈策略、社會化分享指導(dǎo)策略等等。每個策略各有優(yōu)劣,在實(shí)際情況中往往是多種策略結(jié)合使用以達(dá)到最優(yōu)的抓取效果。
5、重復(fù)url的過濾
spider在抓取過程中需要判斷一個頁面是否已經(jīng)抓取過了,如果還沒有抓取再進(jìn)行抓取網(wǎng)頁的行為并放在已抓取網(wǎng)址集合中。判斷是否已經(jīng)抓取其中涉及到最核心的是快速查找并對比,同時涉及到url歸一化識別,例如一個url中包含大量無效參數(shù)而實(shí)際是同一個頁面,這將視為同一個url來對待。
6、暗網(wǎng)數(shù)據(jù)的獲取
互聯(lián)網(wǎng)中存在著大量的搜索引擎暫時無法抓取到的數(shù)據(jù),被稱為暗網(wǎng)數(shù)據(jù)。一方面,很多網(wǎng)站的大量數(shù)據(jù)是存在于網(wǎng)絡(luò)數(shù)據(jù)庫中,spider難以采用抓取網(wǎng)頁的方式獲得完整內(nèi)容;另一方面,由于網(wǎng)絡(luò)環(huán)境、網(wǎng)站本身不符合規(guī)范、孤島等等問題,也會造成搜索引擎無法抓取。目前來說,對于暗網(wǎng)數(shù)據(jù)的獲取主要思路仍然是通過開放平臺采用數(shù)據(jù)提交的方式來解決,例如“百度站長平臺”“百度開放平臺”等等。
7、抓取反作弊
spider在抓取過程中往往會遇到所謂抓取黑洞或者面臨大量低質(zhì)量頁面的困擾,這就要求抓取系統(tǒng)中同樣需要設(shè)計(jì)一套完善的抓取反作弊系統(tǒng)。例如分析url特征、分析頁面大小及內(nèi)容、分析站點(diǎn)規(guī)模對應(yīng)抓取規(guī)模等等。
Baiduspider抓取過程中涉及的網(wǎng)絡(luò)協(xié)議
剛才提到百度搜索引擎會設(shè)計(jì)復(fù)雜的抓取策略,其實(shí)搜索引擎與資源提供者之間存在相互依賴的關(guān)系,其中搜索引擎需要站長為其提供資源,否則搜索引擎就無法滿足用戶檢索需求;而站長需要通過搜索引擎將自己的 內(nèi)容推廣出去獲取更多的受眾。spider抓取系統(tǒng)直接涉及互聯(lián)網(wǎng)資源提供者的利益,為了使搜素引擎與站長能夠達(dá)到雙贏,在抓取過程中雙方必須遵守一定的 規(guī)范,以便于雙方的數(shù)據(jù)處理及對接。這種過程中遵守的規(guī)范也就是日常中我們所說的一些網(wǎng)絡(luò)協(xié)議。
以下簡單列舉:
http協(xié)議:超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)。客戶端一般情況是指終端用戶,服務(wù)器端即指網(wǎng) 站。終端用戶通過瀏覽器、蜘蛛等向服務(wù)器指定端口發(fā)送http請求。發(fā)送http請求會返回對應(yīng)的httpheader信息,可以看到包括是否成功、服務(wù) 器類型、網(wǎng)頁最近更新時間等內(nèi)容。
https協(xié)議:實(shí)際是加密版http,一種更加安全的數(shù)據(jù)傳輸協(xié)議。
UA屬性:UA即user-agent,是http協(xié)議中的一個屬性,代表了終端的身份,向服務(wù)器端表明我是誰來干嘛,進(jìn)而服務(wù)器端可以根據(jù)不同的身份來做出不同的反饋結(jié)果。
robots協(xié)議:robots.txt是搜索引擎訪問一個網(wǎng)站時要訪問的第一個文件,用以來確定哪些是被允許抓取的哪些是被禁止抓取的。 robots.txt必須放在網(wǎng)站根目錄下,且文件名要小寫。詳細(xì)的robots.txt寫法可參考 http://www.robotstxt.org 。百度嚴(yán)格按照robots協(xié)議執(zhí)行,另外,同樣支持網(wǎng)頁內(nèi)容中添加的名為robots的meta標(biāo) 簽,index、follow、nofollow等指令。
Baiduspider抓取頻次原則及調(diào)整方法
Baiduspider根據(jù)上述網(wǎng)站設(shè)置的協(xié)議對站點(diǎn)頁面進(jìn)行抓取,但是不可能做到對所有站點(diǎn)一視同仁,會綜合考慮站點(diǎn)實(shí)際情況確定一個抓取配額,每天定量抓取站點(diǎn)內(nèi)容,即我們常說的抓取頻次。那么百度搜索引擎是根據(jù)什么指標(biāo)來確定對一個網(wǎng)站的抓取頻次的呢,主要指標(biāo)有四個:
1,網(wǎng)站更新頻率:更新快多來,更新慢少來,直接影響B(tài)aiduspider的來訪頻率
2,網(wǎng)站更新質(zhì)量:更新頻率提高了,僅僅是吸引了Baiduspier的注意,Baiduspider對質(zhì)量是有嚴(yán)格要求的,如果網(wǎng)站每天更新出的大量內(nèi)容都被Baiduspider判定為低質(zhì)頁面,依然沒有意義。
3,連通度:網(wǎng)站應(yīng)該安全穩(wěn)定、對Baiduspider保持暢通,經(jīng)常給Baiduspider吃閉門羹可不是好事情
4,站點(diǎn)評價:百度搜索引擎對每個站點(diǎn)都會有一個評價,且這個評價會根據(jù)站點(diǎn)情況不斷變化,是百度搜索引擎對站點(diǎn)的一個基礎(chǔ)打分(絕非外界所說的百度權(quán)重),是百度內(nèi)部一個非常機(jī)密的數(shù)據(jù)。站點(diǎn)評級從不獨(dú)立使用,會配合其它因子和閾值一起共同影響對網(wǎng)站的抓取和排序。
抓取頻次間接決定著網(wǎng)站有多少頁面有可能被建庫收錄,如此重要的數(shù)值如果不符合站長預(yù)期該如何調(diào)整呢?百度站長平臺提供了抓取頻次工具(http://zhanzhang.baidu.com/pressure/index),并已完成多次升級。該工具除了提供抓取統(tǒng)計(jì)數(shù)據(jù)外,還提供“頻次調(diào)整”功能,站長根據(jù)實(shí)際情況向百度站長平臺提出希望Baiduspider增加來訪或減少來訪的請求,工具會根據(jù)站長的意愿和實(shí)際情況進(jìn)行調(diào)整。
造成Baiduspider抓取異常的原因
有一些網(wǎng)頁,內(nèi)容優(yōu)質(zhì),用戶也可以正常訪問,但是Baiduspider卻無法正常訪問并抓取,造成搜索結(jié)果覆蓋率缺失,對百度搜索引擎對站點(diǎn)都是一種損失,百度把這種情況叫“抓取異!薄τ诖罅績(nèi)容無法正常抓取的網(wǎng)站,百度搜索引擎會認(rèn)為網(wǎng)站存在用戶體驗(yàn)上的缺陷,并降低對網(wǎng)站的評價,在抓取、索引、排序上都會受到一定程度的負(fù)面影響,最終影響到網(wǎng)站從百度獲取的流量。
下面向站長介紹一些常見的抓取異常原因:
服務(wù)器連接異常會有兩種情況:一種是站點(diǎn)不穩(wěn)定,Baiduspider嘗試連接您網(wǎng)站的服務(wù)器時出現(xiàn)暫時無法連接的情況;一種是Baiduspider一直無法連接上您網(wǎng)站的服務(wù)器。
造成服務(wù)器連接異常的原因通常是您的網(wǎng)站服務(wù)器過大,超負(fù)荷運(yùn)轉(zhuǎn)。也有可能是您的網(wǎng)站運(yùn)行不正常,請檢查網(wǎng)站的web服務(wù)器(如apache、iis)是否安裝且正常運(yùn)行,并使用瀏覽器檢查主要頁面能否正常訪問。您的網(wǎng)站和主機(jī)還可能阻止了Baiduspider的訪問,您需要檢查網(wǎng)站和主機(jī)的防火墻。
2,網(wǎng)絡(luò)運(yùn)營商異常:網(wǎng)絡(luò)運(yùn)營商分電信和聯(lián)通兩種,Baiduspider通過電信或網(wǎng)通無法訪問您的網(wǎng)站。如果出現(xiàn)這種情況,您需要與網(wǎng)絡(luò)服務(wù)運(yùn)營商進(jìn)行聯(lián)系,或者購買擁有雙線服務(wù)的空間或者購買cdn服務(wù)。
3,DNS異常:當(dāng)Baiduspider無法解析您網(wǎng)站的IP時,會出現(xiàn)DNS異常。可能是您的網(wǎng)站IP地址錯誤,或者域名服務(wù)商把Baiduspider封禁。請使用WHOIS或者h(yuǎn)ost查詢自己網(wǎng)站IP地址是否正確且可解析,如果不正確或無法解析,請與域名注冊商聯(lián)系,更新您的IP地址。
4,IP封禁:IP封禁為:限制網(wǎng)絡(luò)的出口IP地址,禁止該IP段的使用者進(jìn)行內(nèi)容訪問,在這里特指封禁了BaiduspiderIP。當(dāng)您的網(wǎng)站不希望Baiduspider訪問時,才需要該設(shè)置,如果您希望Baiduspider訪問您的網(wǎng)站,請檢查相關(guān)設(shè)置中是否誤添加了BaiduspiderIP。也有可能是您網(wǎng)站所在的空間服務(wù)商把百度IP進(jìn)行了封禁,這時您需要聯(lián)系服務(wù)商更改設(shè)置。
5,UA封禁:UA即為用戶代理(User-Agent),服務(wù)器通過UA識別訪問者的身份。當(dāng)網(wǎng)站針對指定UA的訪問,返回異常頁面(如403,500)或跳轉(zhuǎn)到其他頁面的情況,即為UA封禁。當(dāng)您的網(wǎng)站不希望Baiduspider訪問時,才需要該設(shè)置,如果您希望Baiduspider訪問您的網(wǎng)站,useragent相關(guān)的設(shè)置中是否有Baiduspider UA,并及時修改。
6,死鏈:頁面已經(jīng)無效,無法對用戶提供任何有價值信息的頁面就是死鏈接,包括協(xié)議死鏈和內(nèi)容死鏈兩種形式:
協(xié)議死鏈:頁面的TCP協(xié)議狀態(tài)/HTTP協(xié)議狀態(tài)明確表示的死鏈,常見的如404、403、503狀態(tài)等。
內(nèi)容死鏈:服務(wù)器返回狀態(tài)是正常的,但內(nèi)容已經(jīng)變更為不存在、已刪除或需要權(quán)限等與原內(nèi)容無關(guān)的信息頁面。
對于死鏈,我們建議站點(diǎn)使用協(xié)議死鏈,并通過百度站長平臺--死鏈工具向百度提交,以便百度更快地發(fā)現(xiàn)死鏈,減少死鏈對用戶以及搜索引擎造成的負(fù)面影響。
7,異常跳轉(zhuǎn):將網(wǎng)絡(luò)請求重新指向其他位置即為跳轉(zhuǎn)。異常跳轉(zhuǎn)指的是以下幾種情況:
1)當(dāng)前該頁面為無效頁面(內(nèi)容已刪除、死鏈等),直接跳轉(zhuǎn)到前一目錄或者首頁,百度建議站長將該無效頁面的入口超鏈接刪除掉
2)跳轉(zhuǎn)到出錯或者無效頁面
注意:對于長時間跳轉(zhuǎn)到其他域名的情況,如網(wǎng)站更換域名,百度建議使用301跳轉(zhuǎn)協(xié)議進(jìn)行設(shè)置。
8,其他異常:
1)針對百度refer的異常:網(wǎng)頁針對來自百度的refer返回不同于正常內(nèi)容的行為。
2)針對百度ua的異常:網(wǎng)頁對百度UA返回不同于頁面原內(nèi)容的行為。
3)JS跳轉(zhuǎn)異常:網(wǎng)頁加載了百度無法識別的JS跳轉(zhuǎn)代碼,使得用戶通過搜索結(jié)果進(jìn)入頁面后發(fā)生了跳轉(zhuǎn)的情況。
4)壓力過大引起的偶然封禁:百度會根據(jù)站點(diǎn)的規(guī)模、訪問量等信息,自動設(shè)定一個合理的抓取壓力。但是在異常情況下,如壓力控制失常時,服務(wù)器會根據(jù)自身負(fù)荷進(jìn)行保護(hù)性的偶然封禁。這種情況下,請?jiān)诜祷卮a中返回503(其含義是“Service Unavailable”),這樣Baiduspider會過段時間再來嘗試抓取這個鏈接,如果網(wǎng)站已空閑,則會被成功抓取。
新鏈接重要程度判斷
好啦,上面我們說了影響B(tài)aiduspider正常抓取的原因,下面就要說說Baiduspider的一些判斷原則了。在建庫環(huán)節(jié)前,Baiduspide會對頁面進(jìn)行初步內(nèi)容分析和鏈接分析,通過內(nèi)容分析決定該網(wǎng)頁是否需要建索引庫,通過鏈接分析發(fā)現(xiàn)更多網(wǎng)頁,再對更多網(wǎng)頁進(jìn)行抓取——分析——是否建庫&發(fā)現(xiàn)新鏈接的流程。理論上,Baiduspider會將新頁面上所有能“看到”的鏈接都抓取回來,那么面對眾多新鏈接,Baiduspider根據(jù)什么判斷哪個更重要呢?兩方面:
第一,對用戶的價值:
1,內(nèi)容獨(dú)特,百度搜索引擎喜歡unique的內(nèi)容
2,主體突出,切不要出現(xiàn)網(wǎng)頁主體內(nèi)容不突出而被搜索引擎誤判為空短頁面不抓取
3,內(nèi)容豐富
4,廣告適當(dāng)
第二,鏈接重要程度:
1,目錄層級——淺層優(yōu)先
2,鏈接在站內(nèi)的受歡迎程度
百度優(yōu)先建重要庫的原則
Baiduspider抓了多少頁面并不是最重要的,重要的是有多少頁面被建索引庫,即我們常說的“建庫”。眾所周知,搜索引擎的索引庫是分層級的,優(yōu)質(zhì)的網(wǎng)頁會被分配到重要索引庫,普通網(wǎng)頁會待在普通庫,再差一些的網(wǎng)頁會被分配到低級庫去當(dāng)補(bǔ)充材料。目前60%的檢索需求只調(diào)用重要索引庫即可滿足,這也就解釋了為什么有些網(wǎng)站的收錄量超高流量卻一直不理想。
那么,哪些網(wǎng)頁可以進(jìn)入優(yōu)質(zhì)索引庫呢。其實(shí)總的原則就是一個:對用戶的價值。包括卻不僅于:
1,有時效性且有價值的頁面:在這里,時效性和價值是并列關(guān)系,缺一不可。有些站點(diǎn)為了產(chǎn)生時效性內(nèi)容頁面做了大量采集工作,產(chǎn)生了一堆無價值面頁,也是百度不愿看到的.
2,內(nèi)容優(yōu)質(zhì)的專題頁面:專題頁面的內(nèi)容不一定完全是原創(chuàng)的,即可以很好地把各方內(nèi)容整合在一起,或者增加一些新鮮的內(nèi)容,比如觀點(diǎn)和評論,給用戶更豐富全面的內(nèi)容。
3,高價值原創(chuàng)內(nèi)容頁面:百度把原創(chuàng)定義為花費(fèi)一定成本、大量經(jīng)驗(yàn)積累提取后形成的文章。千萬不要再問我們偽原創(chuàng)是不是原創(chuàng)。
4,重要個人頁面:這里僅舉一個例子,科比在新浪微博開戶了,需要他不經(jīng)常更新,但對于百度來說,它仍然是一個極重要的頁面。
哪些網(wǎng)頁無法建入索引庫
上述優(yōu)質(zhì)網(wǎng)頁進(jìn)了索引庫,那其實(shí)互聯(lián)網(wǎng)上大部分網(wǎng)站根本沒有被百度收錄。并非是百度沒有發(fā)現(xiàn)他們,而是在建庫前的篩選環(huán)節(jié)被過濾掉了。那怎樣的網(wǎng)頁在最初環(huán)節(jié)就被過濾掉了呢:
1, 重復(fù)內(nèi)容的網(wǎng)頁:互聯(lián)網(wǎng)上已有的內(nèi)容,百度必然沒有必要再收錄。
2, 主體內(nèi)容空短的網(wǎng)頁
1)有些內(nèi)容使用了百度spider無法解析的技術(shù),如JS、AJAX等,雖然用戶訪問能看到豐富的內(nèi)容,依然會被搜索引擎拋棄
2)加載速度過慢的網(wǎng)頁,也有可能被當(dāng)作空短頁面處理,注意廣告加載時間算在網(wǎng)頁整體加載時間內(nèi)。
3)很多主體不突出的網(wǎng)頁即使被抓取回來也會在這個環(huán)節(jié)被拋棄。
3, 部分作弊網(wǎng)頁
第二節(jié)-檢索排序
搜索引擎索引系統(tǒng)概述
眾所周知,搜索引擎的主要工作過程包括:抓取、存儲、頁面分析、索引、檢索等幾個主要過程。上一章我們主要介紹了部分抓取存儲環(huán)節(jié)中的內(nèi)容,此章簡要介紹一下索引系統(tǒng)。
在以億為單位的網(wǎng)頁庫中查找特定的某些關(guān)鍵詞猶如大海里面撈針,也許一定的時間內(nèi)可以完成查找,但是用戶等不起,從用戶體驗(yàn)角度我們必須在毫秒級別給予用戶滿意的結(jié)果,否則用戶只能流失。怎樣才能達(dá)到這種要求呢?
如果能知道用戶查找的關(guān)鍵詞(query切詞后)都出現(xiàn)在哪些頁面中,那么用戶檢索的處理過程即可以想象為包含了query中切詞后不同部分的頁面集合求交的過程,而檢索即變成了頁面名稱之間的比較、求交。這樣,在毫秒內(nèi)以億為單位的檢索成為了可能。這就是通常所說的倒排索引及求交檢索的過程。如下為建立倒排索引的基本過程:
1,頁面分析的過程實(shí)際上是將原始頁面的不同部分進(jìn)行識別并標(biāo)記,例如:title、keywords、content、link、anchor、評論、其他非重要區(qū)域等等;
2,分詞的過程實(shí)際上包括了切詞分詞同義詞轉(zhuǎn)換同義詞替換等等,以對某頁面title分詞為例,得到的將是這樣的數(shù)據(jù):term文本、termid、詞類、詞性等等;
3,之前的準(zhǔn)備工作完成后,接下來即是建立倒排索引,形成{termàdoc},下圖即是索引系統(tǒng)中的倒排索引過程。
倒排索引是搜索引擎實(shí)現(xiàn)毫秒級檢索非常重要的一個環(huán)節(jié),下面我們要重要介紹一下索引系統(tǒng)建立倒排索引的重要過程——入庫寫庫。
倒排索引的重要過程——入庫寫庫
索引系統(tǒng)在建立倒排索引的最后還需要有一個入庫寫庫的過程,而為了提高效率這個過程還需要將全部term以及偏移量保存在文件頭部,并且對數(shù)據(jù)進(jìn)行壓縮,這涉及到的過于技術(shù)化在此就不多提了。在此簡要給大家介紹一下索引之后的檢索系統(tǒng)。
檢索系統(tǒng)主要包含了五個部分,如下圖所示:
(1)Query串切詞分詞即將用戶的查詢詞進(jìn)行分詞,對之后的查詢做準(zhǔn)備,以“10號線地鐵故障”為例,可能的分詞如下(同義詞問題暫時略過):
10 0x123abc
號 0x13445d
線 0x234d
地鐵 0x145cf
故障 0x354df
(2)查出含每個term的文檔集合,即找出待選集合,如下:
0x123abc 1 2 3 4 7 9…..
0x13445d 2 5 8 9 10 11……
……
……
(3)求交,上述求交,文檔2和文檔9可能是我們需要找的,整個求交過程實(shí)際上關(guān)系著整個系統(tǒng)的性能,這里面包含了使用緩存等等手段進(jìn)行性能優(yōu)化;
(4)各種過濾,舉例可能包含過濾掉死鏈、重復(fù)數(shù)據(jù)、色情、垃圾結(jié)果以及你懂的;
(5)最終排序,將最能滿足用戶需求的結(jié)果排序在最前,可能包括的有用信息如:網(wǎng)站的整體評價、網(wǎng)頁質(zhì)量、內(nèi)容質(zhì)量、資源質(zhì)量、匹配程度、分散度、時效性等等
影響搜索結(jié)果排序的因素
上面的內(nèi)容好象有些深奧,因?yàn)樯婕按罅考夹g(shù)細(xì)節(jié),我們只能說到這兒了。那下面我們說說大家最感興趣的排序問題吧。用戶輸入關(guān)鍵詞進(jìn)行檢索,百度搜索引擎在排序環(huán)節(jié)要做兩方面的事情,第一是把相關(guān)的網(wǎng)頁從索引庫中提取出來,第二是把提取出來的網(wǎng)頁按照不同維度的得分進(jìn)行綜合排序。“不同維度”包括:
1,相關(guān)性:網(wǎng)頁內(nèi)容與用戶檢索需求的匹配程度,比如網(wǎng)頁包含的用戶檢查關(guān)鍵詞的個數(shù),以及這些關(guān)鍵詞出現(xiàn)的位置;外部網(wǎng)頁指向該頁面所用的錨文本等
2,權(quán)威性:用戶喜歡有一定權(quán)威性網(wǎng)站提供的內(nèi)容,相應(yīng)的,百度搜索引擎也更相信優(yōu)質(zhì)權(quán)威站點(diǎn)提供的內(nèi)容。
3,時效性:時效性結(jié)果指的是新出現(xiàn)的網(wǎng)頁,且網(wǎng)頁內(nèi)承載了新鮮的內(nèi)容。目前時效性結(jié)果在搜索引擎中日趨重要。
4,重要性:網(wǎng)頁內(nèi)容與用戶檢查需求匹配的重要程度或受歡迎程度
5,豐富度:豐富度看似簡單卻是一個覆蓋范圍非常廣的命題。可以理解為網(wǎng)頁內(nèi)容豐富,可以完全滿足用戶需求;不僅可以滿足用戶單一需求,還可以滿足用戶的延展需求。
6,受歡迎程度:指該網(wǎng)頁是不是受歡迎。
以上便是百度搜索引擎決定搜索結(jié)果排序時考慮的六大原則,那么六大原則的側(cè)重點(diǎn)是怎樣的呢?哪個原則在實(shí)際應(yīng)用時占比最大呢?其實(shí)在這里沒有一個確切的答案。在百度搜索引擎早期,這些閾值的確是相對固定的,比如“相關(guān)性”在整體排序中的重量可以占到七成。但隨著互聯(lián)網(wǎng)的不斷發(fā)展,檢索技術(shù)的進(jìn)步,網(wǎng)頁數(shù)量的爆發(fā)式增長,相關(guān)性已經(jīng)不是難題。于是百度搜索引擎引入了機(jī)器學(xué)習(xí)機(jī)制,讓程序自動產(chǎn)出計(jì)算公式,推進(jìn)排序策略更加合理。
低質(zhì)網(wǎng)頁狙擊策略——石榴算法
我們理解網(wǎng)站生存發(fā)展需要資金支持,從來不反對網(wǎng)站添加各種合法廣告,不要再問我們“我們網(wǎng)站加了XX聯(lián)盟的廣告會不會被處罰”這類問題。有些站點(diǎn)好不容易在百度有了比較好的排位,卻在頁面上放置大量有損訪問用戶體驗(yàn)的廣告,已經(jīng)嚴(yán)重影響到百度搜索引擎用戶的使用感受。為此,百度質(zhì)量團(tuán)隊(duì)2013年5月17日發(fā)布公告:針對低質(zhì)量網(wǎng)頁推出了石榴算法,旨在打擊含有大量妨礙用戶正常瀏覽的惡劣廣告的頁面,尤其是彈出大量低質(zhì)廣告、存在混淆頁面主體內(nèi)容的垃圾廣告的頁面。
如以下網(wǎng)頁截圖,用戶要花很長時間去尋找真正的下載地址,是百度無法接受容忍的。
百度質(zhì)量團(tuán)隊(duì)希望站長能夠多從用戶角度出發(fā),朝著長遠(yuǎn)發(fā)展考慮,在不影響用戶體驗(yàn)的前提下合理地放置廣告,贏得用戶的長期青睞才是一個網(wǎng)站發(fā)展壯大的基礎(chǔ)。
第三節(jié)-外部投票
外鏈的作用(2014版)
曾經(jīng),“內(nèi)容為王超鏈為皇”的說法流行了很多年,通過超鏈計(jì)算得分來體現(xiàn)網(wǎng)頁的相關(guān)性和重要性,的確曾經(jīng)是搜索引擎用來評估網(wǎng)頁的重要參考因素之一,會直接參與搜索結(jié)果排序計(jì)算。但隨著該技術(shù)被越來越多的SEO人員了解,超鏈已經(jīng)逐漸失去作為投票的重要意義,無論是谷歌還是百度,對超鏈數(shù)據(jù)的依賴程度都越來越低。那么,在現(xiàn)在,超鏈在發(fā)揮著怎樣的作用?
1, 吸引蜘蛛抓取:雖然百度在挖掘新好站點(diǎn)方面下了很大工夫,開放了多個數(shù)據(jù)提交入口,開避了社會化發(fā)現(xiàn)渠道,但超鏈依然是發(fā)現(xiàn)收錄鏈接的最重要入口。
2, 向搜索引擎?zhèn)鬟f相關(guān)性信息:百度除了通過TITLE、頁面關(guān)鍵詞、H標(biāo)簽等對網(wǎng)頁內(nèi)容進(jìn)行判斷外,還會通過錨文本進(jìn)行鋪助判斷。使用圖片作為點(diǎn)擊入口的超鏈,也可以通過alt屬性和title標(biāo)簽向百度傳情達(dá)意。
3, 提升排名:百度搜索引擎雖然降低了對超鏈的依賴,但對超鏈的識別力度從未下降,制定出更加嚴(yán)格的優(yōu)質(zhì)鏈接、正常鏈接、垃圾鏈接和作弊鏈接標(biāo)準(zhǔn)。對于作弊鏈接,除了對鏈接進(jìn)行過濾清理外,也對鏈接的受益站進(jìn)行一定程度的懲罰。相應(yīng)的,對優(yōu)質(zhì)鏈接,百度依然持歡迎的態(tài)度。
4, 內(nèi)容分享,獲取口碑:優(yōu)質(zhì)內(nèi)容被廣泛傳播,網(wǎng)站借此獲得的流量可能并不多,但如果內(nèi)容做得足夠,也可以樹立自己的品牌效應(yīng)。
*嚴(yán)格來講,這并不屬于超鏈的作用。在百度眼里,網(wǎng)站的品牌比超鏈要重要得多。
切斷買賣超鏈的利刃——綠蘿算法1.0&2.0
百度質(zhì)量團(tuán)隊(duì)2013年2月19日發(fā)布公告推出綠蘿算法,針對買賣鏈接行為再次強(qiáng)調(diào):買賣鏈接行為一方面影響用戶體驗(yàn),干擾搜索引擎算法;另一方面讓投機(jī)建站者得利、超鏈中介者得利,真正勤勤懇懇做好站的站長在這種惡劣的互聯(lián)網(wǎng)超鏈環(huán)境中無法獲得應(yīng)有的回報(bào)。因此針對買賣鏈接行為在清除外鏈計(jì)算的基礎(chǔ)上,以下三個類型的網(wǎng)站將會受到不同程度的影響:
1、超鏈中介:超鏈本應(yīng)是互聯(lián)網(wǎng)上相對優(yōu)質(zhì)的推薦,是普通用戶及網(wǎng)站之間對頁面內(nèi)容、網(wǎng)站價值的肯定,但是現(xiàn)在種種超鏈作弊行為使得真實(shí)的肯定變成了一些人謀取利益的墊腳石,用戶無法根據(jù)鏈接的推薦找到需要的優(yōu)質(zhì)資源,并且嚴(yán)重干擾搜索引擎對網(wǎng)站的評價。超鏈中介便是這畸形的超鏈?zhǔn)袌鱿滦纬傻膼褐ǎ覀冇辛x務(wù)維護(hù)超鏈的純凈維護(hù)用戶利益,也有責(zé)任引導(dǎo)站長朋友們不再支出無謂的花銷,所以超鏈中介將在我們的目標(biāo)范圍內(nèi)。
2、出賣鏈接的網(wǎng)站:一個站點(diǎn)有許多種盈利方式,利用優(yōu)質(zhì)的原創(chuàng)內(nèi)容吸引固定用戶,引進(jìn)優(yōu)質(zhì)廣告資源,甚至舉辦線下活動,這些盈利方式都是我們樂于見到的,是一個網(wǎng)站的真正價值所在。但是一些網(wǎng)站內(nèi)容基本采集自網(wǎng)絡(luò),以出賣超鏈位置為生;一些機(jī)構(gòu)類網(wǎng)站或被鏈接中介所租用進(jìn)行鏈接位置出售,使得超鏈?zhǔn)袌雠菽酱翟蕉唷4舜蔚恼{(diào)整對這類站點(diǎn)同樣將有所影響。
3、購買鏈接的網(wǎng)站:一直以來,百度對優(yōu)質(zhì)站點(diǎn)都會加以保護(hù)和扶植,這是從用戶需求以及創(chuàng)業(yè)站長的角度出發(fā)的必然結(jié)果。而部分站長不將精力用在提升網(wǎng)站質(zhì)量上,而選擇鉆營取巧,以金錢換取超鏈,欺騙搜索引擎進(jìn)而欺騙用戶。對于沒有太多資源和金錢用于此類開銷的創(chuàng)業(yè)站長來說,也是一種無形的傷害,如果不進(jìn)行遏制,劣幣驅(qū)逐良幣,勢必導(dǎo)致互聯(lián)網(wǎng)環(huán)境愈加惡劣。此次調(diào)整這類站點(diǎn)本身也將受到影響。
以上即百度質(zhì)量團(tuán)隊(duì)首次推出綠蘿算法時的具體情況,后來被稱為綠蘿算法1.0。事隔5個月之后,百度質(zhì)量團(tuán)隊(duì)再次推出綠蘿算法2.0,針對明顯的推廣性軟文進(jìn)行更大范圍更加嚴(yán)格的處理。
懲罰的對象重點(diǎn)是發(fā)布軟文的新聞?wù)军c(diǎn),同時包括軟文交易平臺、軟文收益站點(diǎn)。懲罰方式包括:
1、針對軟文交易平臺,將被直接屏蔽;
2、針對軟文發(fā)布站,將視不同程度而進(jìn)行處理。例如一個新聞網(wǎng)站,存在發(fā)布軟文的現(xiàn)象但情節(jié)不嚴(yán)重,該網(wǎng)站在搜索系統(tǒng)中將被降低評價;利用子域大量發(fā)布軟文的,該子域?qū)⒈恢苯悠帘,并且清理出百度新聞源;更有甚者?chuàng)建大量子域用于發(fā)布軟文,此種情況整個主域?qū)⒈黄帘巍?
3、針對軟文受益站,一個網(wǎng)站的外鏈中存在少量的軟文外鏈,那么此時該外鏈將被過濾清除出權(quán)重計(jì)算體系,該受益站點(diǎn)將被觀察一段時間后視情況而進(jìn)一步處理;一個網(wǎng)站的外鏈中存在大量的軟文外鏈,那么此時該受益站點(diǎn)將被降低評價或直接屏蔽。
第四節(jié)-結(jié)果展現(xiàn)
結(jié)構(gòu)化數(shù)據(jù)——助力站點(diǎn)獲得更多點(diǎn)擊
網(wǎng)頁經(jīng)歷了抓取建庫,參與了排序計(jì)算,最終展現(xiàn)在搜索引擎用戶面前。目前在百度搜索左側(cè)結(jié)果展現(xiàn)形式很多,如:鳳巢、品牌專區(qū)、自然結(jié)果等,一條自然結(jié)果怎樣才能獲得更多的點(diǎn)擊,是站長要考慮的重要一環(huán)。
目前自然結(jié)果里又分為兩類,見下圖,第一個,即結(jié)構(gòu)化展現(xiàn),形式比較多樣。目前覆蓋80%的搜索需求,即80%的關(guān)鍵詞下會出現(xiàn)這種復(fù)雜展現(xiàn)樣式;第二個即一段摘要式展現(xiàn),最原始的展現(xiàn)方式,只有一個標(biāo)題、兩行摘要、部分鏈接。
很明顯,結(jié)構(gòu)化展現(xiàn)能夠向用戶明確傳遞信息,直擊用戶需求痛點(diǎn),獲得更好的點(diǎn)擊自然不在話下。目前結(jié)構(gòu)化展現(xiàn)有幾個樣式:
1, 通用問答:提取答案,方便搜索用戶參考,有些結(jié)構(gòu)化數(shù)據(jù)還提取出了問題
2, 下載:
3,時間戳:對于時效性較強(qiáng)的資訊,將時間提取出來,吸引用戶點(diǎn)擊,還有回復(fù)的條目,能夠表現(xiàn)這個鏈接的有效性和熱度
4, 在線文檔:出現(xiàn)文檔格式示意圖
5,原創(chuàng)標(biāo)記: 原創(chuàng)標(biāo)記的使用是最嚴(yán)格的,只有通過人工審核的站點(diǎn)才能擁有原創(chuàng)標(biāo)志,在抓取和排序上有一定優(yōu)待,所以審核非常嚴(yán)格,嚴(yán)控質(zhì)量。
6,配圖:擴(kuò)大面積,方便用戶了解網(wǎng)頁內(nèi)容,吸引點(diǎn)擊
那么站長可以通過什么途徑獲得結(jié)果化展現(xiàn)呢:
1,參與原創(chuàng)星火計(jì)劃:百度站長平臺VIP俱樂部提供申請入口,需要經(jīng)過人工審核后進(jìn)行數(shù)據(jù)提交
2,結(jié)構(gòu)化數(shù)據(jù)提交工具:zhanzhang.baidu.com/wiki/197
3,結(jié)構(gòu)化數(shù)據(jù)標(biāo)注工具:zhanzhang.baidu.com/itemannotator/index
4,搜索結(jié)果配圖:具體要求為,在文章主體位置;圖片與內(nèi)容相關(guān);圖片上沒有文字;圖片比例接近121*91
轉(zhuǎn)載請保留原文地址: http://headlineschannel.com/show-546.html