搜索引擎的工作流程和原理_第1頁(yè)
搜索引擎的工作流程和原理_第2頁(yè)
搜索引擎的工作流程和原理_第3頁(yè)
搜索引擎的工作流程和原理_第4頁(yè)
搜索引擎的工作流程和原理_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、搜索引擎的工作流程和原理搜索引擎是什么?搜索引擎就是指根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,并對(duì)收集到的信息進(jìn)行組織和處理后,為用戶提供檢索和服務(wù),并將用戶檢索的信息展示給用戶的系統(tǒng)。對(duì)于常年混在互聯(lián)網(wǎng)上的站長(zhǎng)們來(lái)說(shuō),搜索引擎對(duì)他們是熟悉得不能再熟悉了。那么,你是否知道搜索引擎工作的基礎(chǔ)流程與原理?接下來(lái)本文將引用Mr.Zhao的文章給大家說(shuō)說(shuō)搜索引擎工作的基礎(chǔ)流程與原理。搜索引擎最重要的是什么?有人會(huì)說(shuō)是查詢結(jié)果的準(zhǔn)確性,有人會(huì)說(shuō)是查詢結(jié)果的豐富性,但其實(shí)這些都不是搜索引擎最最致命的地方。對(duì)于搜索引擎來(lái)說(shuō),最最致命的是查詢時(shí)間。試想一下,如果你在百度界面上查詢一個(gè)關(guān)鍵詞,結(jié)

2、果需要5分鐘才能將你的查詢結(jié)果反饋給你,那結(jié)果必然是你很快的舍棄掉百度。搜索引擎為了滿足對(duì)速度苛刻的要求(現(xiàn)在商業(yè)的搜索引擎的查詢時(shí)間單位都是微秒數(shù)量級(jí)的,所以采用緩存支持查詢需求的方式,也就是說(shuō)我們?cè)诓樵兯阉鲿r(shí)所得到的結(jié)果并不是及時(shí)的,而是在其服務(wù)器已經(jīng)緩存好了的結(jié)果。那么搜索引擎工作的大體流程是什么樣子呢?我們可以理解為三段式。本文僅僅是對(duì)著三段工作流程進(jìn)行大體上的講解與綜述,其中一些詳細(xì)的技術(shù)細(xì)節(jié)將會(huì)用其它的文章進(jìn)行單獨(dú)的講解。一.網(wǎng)頁(yè)搜集。網(wǎng)頁(yè)搜集,其實(shí)就是大家常說(shuō)的蜘蛛抓取網(wǎng)頁(yè)。那么對(duì)于蜘蛛(google稱之為機(jī)器人來(lái)說(shuō),他們感興趣的頁(yè)面分為三類:1.蜘蛛從未抓去過(guò)的新頁(yè)面。2.蜘蛛

3、抓去過(guò),但頁(yè)面內(nèi)容有改動(dòng)的頁(yè)面。3.蜘蛛抓取過(guò),但現(xiàn)在已刪除了的頁(yè)面。那么如何行之有效的發(fā)現(xiàn)這三類頁(yè)面并進(jìn)行抓取,就是spider程序設(shè)計(jì)的初衷與目的。那么這里就涉及到一個(gè)問(wèn)題,蜘蛛抓取的起始點(diǎn)。每一位站長(zhǎng)只要你的網(wǎng)站沒(méi)有被嚴(yán)重降權(quán),那么通過(guò)網(wǎng)站后臺(tái)的服務(wù)器,你都可以發(fā)現(xiàn)勤勞的蜘蛛光顧你的站點(diǎn),但是你們有沒(méi)有想過(guò)從編寫(xiě)程序的角度上來(lái)說(shuō),蜘蛛是怎么來(lái)的呢?針對(duì)于此,各方有各方的觀點(diǎn)。有一種說(shuō)法,說(shuō)蜘蛛的抓取是從種子站(或叫高權(quán)重站,依照權(quán)重由高至低逐層出發(fā)的。另一種說(shuō)法蜘蛛爬在URL集合中是沒(méi)有明顯先后順序的,搜索引擎會(huì)根據(jù)你網(wǎng)站內(nèi)容更新的規(guī)律,自動(dòng)計(jì)算出何時(shí)是爬取你網(wǎng)站的最佳時(shí)機(jī),然后進(jìn)行抓取

4、。其實(shí)對(duì)于不同的搜索引擎,其抓取出發(fā)點(diǎn)定然會(huì)有所區(qū)別,針對(duì)于百度,Mr.Zhao較為傾向于后者。在百度官方博客發(fā)布的索引頁(yè)鏈接補(bǔ)全機(jī)制的一種辦法(地址: http:/stblog.baidu-那么蜘蛛如何發(fā)現(xiàn)新鏈接呢?其依靠的就是超鏈接。我們可以把所有的互聯(lián)網(wǎng)看成一個(gè)有向集合的聚集體,蜘蛛由起始的URL集合A沿著網(wǎng)頁(yè)中超鏈接開(kāi)始不停的發(fā)現(xiàn)新頁(yè)面。在這個(gè)過(guò)程中,每發(fā)現(xiàn)新的URL都會(huì)與集合A中已存的進(jìn)行比對(duì),若是新的URL,則加入集合A中,若是已在集合A中存在,則丟棄掉。蜘蛛對(duì)一個(gè)站點(diǎn)的遍歷抓取策略分為兩種,一種是深度優(yōu)先,另一種就是寬度優(yōu)先。但是如果是百度這類商業(yè)搜索引擎,其遍歷策略則可能是某種

5、更加復(fù)雜的規(guī)則,例如涉及到域名本身的權(quán)重系數(shù)、涉及到百度本身服務(wù)器矩陣分布等。二.預(yù)處理。預(yù)處理是搜索引擎最復(fù)雜的部分,基本上大部分排名算法都是在預(yù)處理這個(gè)環(huán)節(jié)生效。那么搜索引擎在預(yù)處理這個(gè)環(huán)節(jié),針對(duì)數(shù)據(jù)主要進(jìn)行以下幾步處理:1.提取關(guān)鍵詞。蜘蛛抓取到的頁(yè)面與我們?cè)跒g覽器中查看的源碼是一樣的,通常代碼雜亂無(wú)章,而且其中還有很多與頁(yè)面主要內(nèi)容是無(wú)關(guān)的。由此,搜索引擎需要做三件事情:代碼去噪。去除掉網(wǎng)頁(yè)中所有的代碼,僅剩下文本文字。去除非正文關(guān)鍵詞。例如頁(yè)面上的導(dǎo)航欄以及其它不同頁(yè)面共享的公共區(qū)域的關(guān)鍵詞。去除停用詞。停用詞是指沒(méi)有具體意義的詞匯,例如“的”“在”等。當(dāng)搜索引擎得到這篇網(wǎng)頁(yè)的關(guān)鍵詞

6、后,會(huì)用自身的分詞系統(tǒng),將此文分成一個(gè)分詞列表,然后儲(chǔ)存在數(shù)據(jù)庫(kù)中,并與此文的URL進(jìn)行一一對(duì)應(yīng)。下面我舉例說(shuō)明。 2.消除重復(fù)與轉(zhuǎn)載網(wǎng)頁(yè)。每個(gè)搜索引擎其識(shí)別重復(fù)頁(yè)面的算法均不相同,但是其中Mr.Zhao認(rèn)為,如果將消重算法理解為由100個(gè)元素組成,那么所有的搜索引擎恐怕其80個(gè)元素都是完全一樣的。而另外20個(gè)元素,則是根據(jù)不同的搜索引擎針對(duì)seo的態(tài)度不同,而專門(mén)設(shè)立的對(duì)應(yīng)策略。本文僅對(duì)搜索引擎大體流程進(jìn)行初步講解,具體數(shù)學(xué)模型不多做講解。3.重要信息分析。在進(jìn)行代碼除噪的過(guò)程中,搜索引擎并非簡(jiǎn)單的將其去除掉而已,而是充分利用網(wǎng)頁(yè)代碼(例如H標(biāo)簽、strong標(biāo)簽、關(guān)鍵詞密度、內(nèi)鏈錨文本等方

7、式分析出此網(wǎng)頁(yè)中最重要的詞組。4.網(wǎng)頁(yè)重要度分析。通過(guò)指向該網(wǎng)頁(yè)的外鏈錨文本所傳遞的權(quán)重?cái)?shù)值,來(lái)為此網(wǎng)頁(yè)確定一個(gè)權(quán)重?cái)?shù)值,同時(shí)結(jié)合上述的“重要信息分析”,從而確立此網(wǎng)頁(yè)的關(guān)鍵詞集合p中每一個(gè)關(guān)鍵詞所具備的排名系數(shù)。5.倒排文件。正如上文所說(shuō),用戶在查詢時(shí)所得到的查詢結(jié)果并非是及時(shí)的,而是在搜索引擎的緩存區(qū)已經(jīng)大體排好的,當(dāng)然搜索引擎不會(huì)未卜先知,他不會(huì)知道用戶會(huì)查詢哪些關(guān)鍵詞,但是他可以建立一個(gè)關(guān)鍵詞詞庫(kù),而當(dāng)其處理用戶查詢請(qǐng)求的時(shí)候,會(huì)將其請(qǐng)求按照詞庫(kù)進(jìn)行分詞。那么這樣下來(lái),搜索引擎就可以在用戶產(chǎn)生查詢行為之前,將詞庫(kù)中的每一個(gè)關(guān)鍵詞其對(duì)應(yīng)的URL排名先行計(jì)算好,這樣就大大節(jié)省了處理查詢的時(shí)

8、間了。簡(jiǎn)單來(lái)說(shuō),搜索引擎用控制器來(lái)控制蜘蛛爬取,然后將URL集與原始數(shù)據(jù)庫(kù)進(jìn)行保存,保存之后再用索引器控制每個(gè)關(guān)鍵詞與URL之間的對(duì)應(yīng)關(guān)系,并將其保存在索引數(shù)據(jù)庫(kù)中。下面我們來(lái)舉例說(shuō)明。 上圖是為了方便大家便于理解而做出來(lái)的,索引數(shù)據(jù)庫(kù)實(shí)際上是搜索引擎中對(duì)性能要求最高的數(shù)據(jù)庫(kù),因?yàn)槔锩嫠幸蛩囟紩?huì)受到算法影響,所以實(shí)際上的索引數(shù)據(jù)庫(kù)我覺(jué)得應(yīng)該是由多維數(shù)組所組成的較為復(fù)雜的索引表,但其主要體現(xiàn)的大體作用與上圖相同。三、查詢服務(wù)。查詢服務(wù)顧名思義,就是處理用戶在搜索界面的查詢請(qǐng)求。搜索引擎構(gòu)建檢索器,然后分三步來(lái)處理請(qǐng)求。1.根據(jù)查詢方式與關(guān)鍵詞進(jìn)行切詞。首先先把用戶搜索的關(guān)鍵詞切分為一個(gè)關(guān)鍵詞序

9、列,我們暫時(shí)用q來(lái)表示,則用戶搜索的關(guān)鍵詞q被切分為q=q1,q2,q3,qn。然后再根據(jù)用戶查詢方式,例如是所有詞連在一起,還是中間有空格等,以及根據(jù)q 中不同關(guān)鍵詞的詞性,來(lái)確定所需查詢?cè)~中每一個(gè)詞在查詢結(jié)果的展示上所占有的重要性。2.搜索結(jié)果排序。我們有了搜索詞集合q,q中每個(gè)關(guān)鍵詞所對(duì)應(yīng)的URL排序索引庫(kù),同時(shí)也根據(jù)用戶的查詢方式與詞性計(jì)算出每個(gè)關(guān)鍵詞在查詢結(jié)果的展示上所占有的重要,那么只需要進(jìn)行一點(diǎn)綜合性的排序算法,搜索結(jié)果就出來(lái)了。3.展示搜索結(jié)果與文檔摘要。當(dāng)有了搜索結(jié)果后,搜索引擎就會(huì)將搜索結(jié)果展示在用戶閱覽的界面上以供用戶使用。在這里,大家可以思考兩個(gè)個(gè)問(wèn)題。大家在搜索界面中

10、經(jīng)常發(fā)現(xiàn)百度展示的摘要是用戶搜索詞周?chē)?如果我不僅僅只看第一頁(yè),多往后翻一些頁(yè),會(huì)看到有些結(jié)果由于其目標(biāo)頁(yè)面本身并未完全包含搜索詞,而在百度提取的摘要中標(biāo)紅詞僅是部分搜索詞,那么我們可以這樣理解,百度在搜索詞不被完全包含的情況下,是不是應(yīng)該優(yōu)先展現(xiàn)在分詞結(jié)果中被百度認(rèn)為較為重要的詞呢?那么從這些搜索結(jié)果中我們是不是就可以看出百度分詞算法的部分端倪呢?有時(shí)候頁(yè)面中會(huì)多次出現(xiàn)搜索詞,而百度搜索結(jié)果頁(yè)面中在網(wǎng)站摘要部分僅會(huì)顯示部分,通常這么部分是連續(xù)的,那我們是不是可以理解在摘要部分,百度會(huì)優(yōu)先展示頁(yè)面中它認(rèn)為與對(duì)此搜索詞最重要的部分呢?那么由此我們是不是可以揣度出百度針對(duì)頁(yè)面除噪后對(duì)不同部分賦予權(quán)重的算法呢?這兩個(gè)問(wèn)題仁者見(jiàn)仁智者見(jiàn)智,做SEO的朋友們自己去探索與摸索吧,Mr.Zhao不敢在此誤人子弟。四、現(xiàn)今百度的流程漏洞。請(qǐng)?jiān)徫矣昧鞒搪┒磥?lái)形容這個(gè)模塊,但我不得不說(shuō),在如今點(diǎn)擊器橫行的天下,我覺(jué)得說(shuō)是漏洞無(wú)可厚非。那就是除了上面三個(gè)大環(huán)節(jié)外,百度還構(gòu)建了用戶行為模塊,來(lái)影響原始數(shù)據(jù)庫(kù)與索引庫(kù)。而影響原始數(shù)據(jù)庫(kù)的,是百度的快照投訴,主要處理互聯(lián)網(wǎng)暴利的一些行為,這點(diǎn)無(wú)可厚非。而影響索引庫(kù)的,是用戶的點(diǎn)擊行為,這個(gè)設(shè)計(jì)本身也無(wú)可厚非,但百度算法的不成熟,導(dǎo)致了點(diǎn)擊器作弊猖獗。百度的用戶行為分析模塊很簡(jiǎn)單,除了自身投訴的提交入口外,就是搜集用戶在搜索界面的點(diǎn)擊行為,如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論