摘要:收集待索引網(wǎng)頁(yè)Internet上存在的網(wǎng)頁(yè)數(shù)量絕對(duì)是個(gè)天文數(shù)字,每天新增的網(wǎng)頁(yè)也不計(jì)其數(shù),搜索引擎需要首先找到要索引收錄的對(duì)象。具體到Google而言,雖然對(duì)GoogleBot是否存在DeepBot與...
Internet上存在的網(wǎng)頁(yè)數(shù)量絕對(duì)是個(gè)天文數(shù)字,每天新增的網(wǎng)頁(yè)也不計(jì)其數(shù),搜索引擎需要首先找到要索引收錄的對(duì)象。
具體到Google而言,雖然對(duì)GoogleBot是否存在DeepBot與FreshBot的區(qū)別存在爭(zhēng)議——至于是否叫這么兩個(gè)名字更是眾說(shuō)紛紜。
主流的看法是,在Google的robots中,的確存在著相當(dāng)部分專(zhuān)門(mén)為真正的索引收錄頁(yè)頁(yè)準(zhǔn)備“素材”的robots——在這里我們姑且仍稱(chēng)之為FreshBot吧
它們的任務(wù)便是每天不停地掃描Internet,以發(fā)現(xiàn)并維護(hù)一個(gè)龐大的url列表供DeepBot使用,換言之,當(dāng)其訪問(wèn)、讀取其一個(gè)網(wǎng)頁(yè)時(shí),目的并不在于索引這個(gè)網(wǎng)頁(yè),而是找出這個(gè)網(wǎng)頁(yè)中的所有鏈接。當(dāng)然,這樣似乎在效率上存在矛盾,有點(diǎn)不太可信。不過(guò),我們可以簡(jiǎn)單地通過(guò)以下方式判斷:FreshBot在掃描網(wǎng)頁(yè)時(shí)不具備“排它性”。也即是說(shuō),位于Google不同的數(shù)據(jù)中心的多個(gè)robots可能在某個(gè)很短的時(shí)間周期,比如說(shuō)一天甚至一小時(shí),訪問(wèn)同一個(gè)頁(yè)面,而DeepBot在索引、緩存頁(yè)面時(shí)則不會(huì)出現(xiàn)類(lèi)似的情況。即Google會(huì)限制由某個(gè)數(shù)據(jù)中心的robots來(lái)完成這項(xiàng)工作的,而不會(huì)出現(xiàn)兩個(gè)數(shù)據(jù)中心同時(shí)索引網(wǎng)頁(yè)同一個(gè)版本的情況,如果這種說(shuō)法沒(méi)有破綻的話,則似乎可以從服務(wù)器訪問(wèn)日志中時(shí)?梢钥吹皆醋圆煌IP的GoogleBot在很短的時(shí)間內(nèi)多次訪問(wèn)同一個(gè)網(wǎng)頁(yè)證明FreshBot的存在。
因此,有時(shí)候發(fā)現(xiàn)GoogleBot頻繁訪問(wèn)網(wǎng)站也不要高興得太早,也許其根本不是在索引網(wǎng)頁(yè)而只是在掃描url。
FreshBot記錄的信息包括網(wǎng)頁(yè)的url、TimeStamp(網(wǎng)頁(yè)創(chuàng)建或更新的時(shí)間戳),以及網(wǎng)頁(yè)的Head信息(注:這一點(diǎn)存在爭(zhēng)議,也有不少人相信FreshBot不會(huì)去讀取目標(biāo)網(wǎng)頁(yè)信息的,而是將這部分工作交由DeepBot完成。
不過(guò),筆者傾向于前一種說(shuō)法,因?yàn)樵贔reshBot向DeepBot提交的url列表中,會(huì)將網(wǎng)站設(shè)置禁止索引、收錄的頁(yè)面排除在外,以提高效率,而網(wǎng)站進(jìn)行此類(lèi)設(shè)置時(shí)除使用robots.txt外還有相當(dāng)部分是通過(guò)mata標(biāo)簽中的“noindex”實(shí)現(xiàn)的,不讀取目標(biāo)網(wǎng)頁(yè)的head似乎是無(wú)法實(shí)現(xiàn)這一點(diǎn)的),如果網(wǎng)頁(yè)不可訪問(wèn),比如說(shuō)網(wǎng)絡(luò)中斷或服務(wù)器故障,F(xiàn)reshBot則會(huì)記下該url并擇機(jī)重試,但在該url可訪問(wèn)之前,不會(huì)將其加入向DeepBot提交的url列表。
總的來(lái)說(shuō),F(xiàn)reshBot對(duì)服務(wù)器帶寬、資源的占用還是比較小的。最后,F(xiàn)reshBot對(duì)記錄信息按不同的優(yōu)先級(jí)進(jìn)行分類(lèi),向DeepBot提交,根據(jù)優(yōu)先級(jí)不同,主要有以下幾種:
A:新建網(wǎng)頁(yè);B:舊網(wǎng)頁(yè)/新的TimeStamp,即存在更新的網(wǎng)頁(yè);C:使用301/302重定向的網(wǎng)頁(yè);D:復(fù)雜的動(dòng)態(tài)url:如使用多個(gè)參數(shù)的動(dòng)態(tài)url,Google可能需要附加的工作才能正確分析其內(nèi)容。
——隨著Google對(duì)動(dòng)態(tài)網(wǎng)頁(yè)支持能力的提高,這一分類(lèi)可能已經(jīng)取消;E:其他類(lèi)型的文件,如指向PDF、DOC文件的鏈接,對(duì)這些文件的索引,也可能需要附加的工作;
F:舊網(wǎng)頁(yè)/舊的TimeStamp,即未更新的網(wǎng)頁(yè),注意,這里的時(shí)間戳不是以Google搜索結(jié)果中顯示的日期為準(zhǔn),而是與Google索引數(shù)據(jù)庫(kù)中的日期比對(duì);G:錯(cuò)誤的url,即訪問(wèn)時(shí)返回404回應(yīng)的頁(yè)面;
網(wǎng)頁(yè)的索引與收錄
接下來(lái)才進(jìn)入真正的索引與收錄網(wǎng)頁(yè)過(guò)程。從上面的介紹可以看出,F(xiàn)reshBot提交的url列表是相當(dāng)龐大的,根據(jù)語(yǔ)言、網(wǎng)站位置等不同,對(duì)特定網(wǎng)站的索引工作將分配至不同的數(shù)據(jù)中心完成。
整個(gè)索引過(guò)程,由于龐大的數(shù)據(jù)量,可能需要幾周甚至更長(zhǎng)時(shí)間才能完成。
正如上文所言,DeepBot會(huì)首先索引優(yōu)先級(jí)較高的網(wǎng)站/網(wǎng)頁(yè),優(yōu)先級(jí)越高,出現(xiàn)在Google索引數(shù)據(jù)庫(kù)及至最終出現(xiàn)在Google搜索結(jié)果頁(yè)面中的速度便越快。
對(duì)新建網(wǎng)頁(yè)而言,只要進(jìn)入到這個(gè)階段,即使整個(gè)索引過(guò)程沒(méi)有完成,相應(yīng)的網(wǎng)頁(yè)便已具備出現(xiàn)在Google索引庫(kù)中的可能,相信許多朋友在Google中使用“site”搜索時(shí)常常看到標(biāo)注為補(bǔ)充結(jié)果只顯示網(wǎng)頁(yè)url或只顯示網(wǎng)頁(yè)標(biāo)題與url但沒(méi)有描述的頁(yè)面,此即是處于這一階段網(wǎng)頁(yè)的正常結(jié)果。
當(dāng)Google真正讀取、分析、緩存了這個(gè)頁(yè)面后,其便會(huì)從補(bǔ)充結(jié)果中逃出而顯示正常的信息。
——當(dāng)然,前提是該網(wǎng)頁(yè)具有足夠的鏈接,特別是來(lái)自權(quán)威網(wǎng)站的鏈接,并且,索引庫(kù)中沒(méi)有與該網(wǎng)頁(yè)內(nèi)容相同或近似的記錄(DuplicateContent過(guò)濾)。
對(duì)動(dòng)態(tài)url而言,雖然如今Google宣稱(chēng)在對(duì)其處理方面已不存在障礙,不過(guò),可以觀察到的事實(shí)仍然顯示動(dòng)態(tài)url出現(xiàn)在補(bǔ)充結(jié)果中的幾率遠(yuǎn)大于使用靜態(tài)url的網(wǎng)頁(yè),往往需要更多、更有價(jià)值的鏈接才能從補(bǔ)充結(jié)果中逸出。
而對(duì)于上文中之“F”類(lèi),即未更新的網(wǎng)頁(yè),DeepBot會(huì)將其時(shí)間戳與Google索引數(shù)據(jù)庫(kù)中的日期比對(duì),確認(rèn)盡管可能搜索結(jié)果中相應(yīng)頁(yè)面信息未來(lái)得及更新但只要索引了最新版本即可——考慮網(wǎng)頁(yè)多次更新、修改的情況——;至于“G”類(lèi)即404url,則會(huì)查找索引庫(kù)中是否存在相應(yīng)的記錄,如果有,將其刪除。
數(shù)據(jù)中心間的同步
前文我們提到過(guò),DeepBot索引某個(gè)網(wǎng)頁(yè)時(shí)會(huì)由特定的數(shù)據(jù)中心完成,而不會(huì)出現(xiàn)多個(gè)數(shù)據(jù)中心同時(shí)讀取該網(wǎng)頁(yè),分別獲得網(wǎng)頁(yè)最近版本的情況,這樣,在索引過(guò)程完成后,便需要一個(gè)數(shù)據(jù)同步過(guò)程,將網(wǎng)頁(yè)的最新版本在多個(gè)數(shù)據(jù)中心得到更新。
這就是之前著名的GoogleDance。不過(guò),在BigDaddy更新后,數(shù)據(jù)中心間的同步不再像那樣集中在特定的時(shí)間段,而是以一種連續(xù)的、時(shí)效性更強(qiáng)的方式進(jìn)行。
轉(zhuǎn)載請(qǐng)保留原文地址: http://headlineschannel.com/show-160.html