




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、搜索引擎的工作流程和原理搜索引擎是什么?搜索引擎就是指根據一定的策略、運用特定的計算機程序從互聯(lián)網上搜集信息,并對收集到的信息進行組織和處理后,為用戶提供檢索和服務,并將用戶檢索的信息展示給用戶的系統(tǒng)。對于常年混在互聯(lián)網上的站長們來說,搜索引擎對他們是熟悉得不能再熟悉了。那么,你是否知道搜索引擎工作的基礎流程與原理?接下來本文將引用Mr.Zhao的文章給大家說說搜索引擎工作的基礎流程與原理。搜索引擎最重要的是什么?有人會說是查詢結果的準確性,有人會說是查詢結果的豐富性,但其實這些都不是搜索引擎最最致命的地方。對于搜索引擎來說,最最致命的是查詢時間。試想一下,如果你在百度界面上查詢一個關鍵詞,結
2、果需要5分鐘才能將你的查詢結果反饋給你,那結果必然是你很快的舍棄掉百度。搜索引擎為了滿足對速度苛刻的要求(現在商業(yè)的搜索引擎的查詢時間單位都是微秒數量級的,所以采用緩存支持查詢需求的方式,也就是說我們在查詢搜索時所得到的結果并不是及時的,而是在其服務器已經緩存好了的結果。那么搜索引擎工作的大體流程是什么樣子呢?我們可以理解為三段式。本文僅僅是對著三段工作流程進行大體上的講解與綜述,其中一些詳細的技術細節(jié)將會用其它的文章進行單獨的講解。一.網頁搜集。網頁搜集,其實就是大家常說的蜘蛛抓取網頁。那么對于蜘蛛(google稱之為機器人來說,他們感興趣的頁面分為三類:1.蜘蛛從未抓去過的新頁面。2.蜘蛛
3、抓去過,但頁面內容有改動的頁面。3.蜘蛛抓取過,但現在已刪除了的頁面。那么如何行之有效的發(fā)現這三類頁面并進行抓取,就是spider程序設計的初衷與目的。那么這里就涉及到一個問題,蜘蛛抓取的起始點。每一位站長只要你的網站沒有被嚴重降權,那么通過網站后臺的服務器,你都可以發(fā)現勤勞的蜘蛛光顧你的站點,但是你們有沒有想過從編寫程序的角度上來說,蜘蛛是怎么來的呢?針對于此,各方有各方的觀點。有一種說法,說蜘蛛的抓取是從種子站(或叫高權重站,依照權重由高至低逐層出發(fā)的。另一種說法蜘蛛爬在URL集合中是沒有明顯先后順序的,搜索引擎會根據你網站內容更新的規(guī)律,自動計算出何時是爬取你網站的最佳時機,然后進行抓取
4、。其實對于不同的搜索引擎,其抓取出發(fā)點定然會有所區(qū)別,針對于百度,Mr.Zhao較為傾向于后者。在百度官方博客發(fā)布的索引頁鏈接補全機制的一種辦法(地址: http:/stblog.baidu-那么蜘蛛如何發(fā)現新鏈接呢?其依靠的就是超鏈接。我們可以把所有的互聯(lián)網看成一個有向集合的聚集體,蜘蛛由起始的URL集合A沿著網頁中超鏈接開始不停的發(fā)現新頁面。在這個過程中,每發(fā)現新的URL都會與集合A中已存的進行比對,若是新的URL,則加入集合A中,若是已在集合A中存在,則丟棄掉。蜘蛛對一個站點的遍歷抓取策略分為兩種,一種是深度優(yōu)先,另一種就是寬度優(yōu)先。但是如果是百度這類商業(yè)搜索引擎,其遍歷策略則可能是某種
5、更加復雜的規(guī)則,例如涉及到域名本身的權重系數、涉及到百度本身服務器矩陣分布等。二.預處理。預處理是搜索引擎最復雜的部分,基本上大部分排名算法都是在預處理這個環(huán)節(jié)生效。那么搜索引擎在預處理這個環(huán)節(jié),針對數據主要進行以下幾步處理:1.提取關鍵詞。蜘蛛抓取到的頁面與我們在瀏覽器中查看的源碼是一樣的,通常代碼雜亂無章,而且其中還有很多與頁面主要內容是無關的。由此,搜索引擎需要做三件事情:代碼去噪。去除掉網頁中所有的代碼,僅剩下文本文字。去除非正文關鍵詞。例如頁面上的導航欄以及其它不同頁面共享的公共區(qū)域的關鍵詞。去除停用詞。停用詞是指沒有具體意義的詞匯,例如“的”“在”等。當搜索引擎得到這篇網頁的關鍵詞
6、后,會用自身的分詞系統(tǒng),將此文分成一個分詞列表,然后儲存在數據庫中,并與此文的URL進行一一對應。下面我舉例說明。 2.消除重復與轉載網頁。每個搜索引擎其識別重復頁面的算法均不相同,但是其中Mr.Zhao認為,如果將消重算法理解為由100個元素組成,那么所有的搜索引擎恐怕其80個元素都是完全一樣的。而另外20個元素,則是根據不同的搜索引擎針對seo的態(tài)度不同,而專門設立的對應策略。本文僅對搜索引擎大體流程進行初步講解,具體數學模型不多做講解。3.重要信息分析。在進行代碼除噪的過程中,搜索引擎并非簡單的將其去除掉而已,而是充分利用網頁代碼(例如H標簽、strong標簽、關鍵詞密度、內鏈錨文本等方
7、式分析出此網頁中最重要的詞組。4.網頁重要度分析。通過指向該網頁的外鏈錨文本所傳遞的權重數值,來為此網頁確定一個權重數值,同時結合上述的“重要信息分析”,從而確立此網頁的關鍵詞集合p中每一個關鍵詞所具備的排名系數。5.倒排文件。正如上文所說,用戶在查詢時所得到的查詢結果并非是及時的,而是在搜索引擎的緩存區(qū)已經大體排好的,當然搜索引擎不會未卜先知,他不會知道用戶會查詢哪些關鍵詞,但是他可以建立一個關鍵詞詞庫,而當其處理用戶查詢請求的時候,會將其請求按照詞庫進行分詞。那么這樣下來,搜索引擎就可以在用戶產生查詢行為之前,將詞庫中的每一個關鍵詞其對應的URL排名先行計算好,這樣就大大節(jié)省了處理查詢的時
8、間了。簡單來說,搜索引擎用控制器來控制蜘蛛爬取,然后將URL集與原始數據庫進行保存,保存之后再用索引器控制每個關鍵詞與URL之間的對應關系,并將其保存在索引數據庫中。下面我們來舉例說明。 上圖是為了方便大家便于理解而做出來的,索引數據庫實際上是搜索引擎中對性能要求最高的數據庫,因為里面所有因素都會受到算法影響,所以實際上的索引數據庫我覺得應該是由多維數組所組成的較為復雜的索引表,但其主要體現的大體作用與上圖相同。三、查詢服務。查詢服務顧名思義,就是處理用戶在搜索界面的查詢請求。搜索引擎構建檢索器,然后分三步來處理請求。1.根據查詢方式與關鍵詞進行切詞。首先先把用戶搜索的關鍵詞切分為一個關鍵詞序
9、列,我們暫時用q來表示,則用戶搜索的關鍵詞q被切分為q=q1,q2,q3,qn。然后再根據用戶查詢方式,例如是所有詞連在一起,還是中間有空格等,以及根據q 中不同關鍵詞的詞性,來確定所需查詢詞中每一個詞在查詢結果的展示上所占有的重要性。2.搜索結果排序。我們有了搜索詞集合q,q中每個關鍵詞所對應的URL排序索引庫,同時也根據用戶的查詢方式與詞性計算出每個關鍵詞在查詢結果的展示上所占有的重要,那么只需要進行一點綜合性的排序算法,搜索結果就出來了。3.展示搜索結果與文檔摘要。當有了搜索結果后,搜索引擎就會將搜索結果展示在用戶閱覽的界面上以供用戶使用。在這里,大家可以思考兩個個問題。大家在搜索界面中
10、經常發(fā)現百度展示的摘要是用戶搜索詞周圍的,如果我不僅僅只看第一頁,多往后翻一些頁,會看到有些結果由于其目標頁面本身并未完全包含搜索詞,而在百度提取的摘要中標紅詞僅是部分搜索詞,那么我們可以這樣理解,百度在搜索詞不被完全包含的情況下,是不是應該優(yōu)先展現在分詞結果中被百度認為較為重要的詞呢?那么從這些搜索結果中我們是不是就可以看出百度分詞算法的部分端倪呢?有時候頁面中會多次出現搜索詞,而百度搜索結果頁面中在網站摘要部分僅會顯示部分,通常這么部分是連續(xù)的,那我們是不是可以理解在摘要部分,百度會優(yōu)先展示頁面中它認為與對此搜索詞最重要的部分呢?那么由此我們是不是可以揣度出百度針對頁面除噪后對不同部分賦予權重的算法呢?這兩個問題仁者見仁智者見智,做SEO的朋友們自己去探索與摸索吧,Mr.Zhao不敢在此誤人子弟。四、現今百度的流程漏洞。請原諒我用流程漏洞來形容這個模塊,但我不得不說,在如今點擊器橫行的天下,我覺得說是漏洞無可厚非。那就是除了上面三個大環(huán)節(jié)外,百度還構建了用戶行為模塊,來影響原始數據庫與索引庫。而影響原始數據庫的,是百度的快照投訴,主要處理互聯(lián)網暴利的一些行為,這點無可厚非。而影響索引庫的,是用戶的點擊行為,這個設計本身也無可厚非,但百度算法的不成熟,導致了點擊器作弊猖獗。百度的用戶行為分析模塊很簡單,除了自身投訴的提交入口外,就是搜集用戶在搜索界面的點擊行為,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電網系統(tǒng)電力電纜項目發(fā)展計劃
- 玻璃樓梯合同范本
- Unit 5 教學設計 2024-2025學年人教版(2024)七年級英語上冊
- 2025年度數據中心冷卻系統(tǒng)維護保養(yǎng)合同范本4篇
- 2025年度品牌店鋪租賃經營合同書
- 投標法律服務方案范本
- 2025年度環(huán)保車輛租賃及綠色出行推廣合同
- Unit 5 Places(教學設計)-2024-2025學年北師大版(三起)英語五年級上冊
- 2025版二手房簽一手合同范本:含房屋交易相關法律法規(guī)咨詢服務
- 2025年度醫(yī)療衛(wèi)生設備采購合同范本
- 初一數學多項式練習
- 期刊創(chuàng)建實施方案
- 人工智能教育2024年AI助力教育教學模式創(chuàng)新
- 機械制圖自編教材
- DRG疾病診斷相關組醫(yī)保支付培訓
- 輕鋼別墅-建筑流程
- 一種仿生蛇形機器人的結構設計
- GB/T 42828.1-2023鹽堿地改良通用技術第1部分:鐵尾砂改良
- 高二數學(含創(chuàng)意快閃特效)-【開學第一課】2023年高中秋季開學指南之愛上數學課
- 《學前兒童社會教育》學前兒童社會教育概述-pp課件
- 全國醫(yī)學英語統(tǒng)考醫(yī)學英語詞匯表
評論
0/150
提交評論