<rp id="pvag7"></rp>
    <tbody id="pvag7"></tbody>

    <em id="pvag7"></em>
    <rp id="pvag7"></rp>
    
    
  1. <progress id="pvag7"><track id="pvag7"></track></progress><dd id="pvag7"><track id="pvag7"></track></dd>
  2. 基礎教程

    【SEO基礎知識】搜索引擎的基本原理全面介紹

    由上圖搜索引擎的排名原理流程圖可以看出:搜索引擎是有多個數據庫系統結合一些列計算程序組合而成的龐大的計算系統。通過搜索器,SE放出大量的爬蟲進行互聯網頁面信息的采集,在通過控制器將采集數據提取和存儲,放置于原始數據庫中;再通過索引器將原始數據進行歸類和排序,形成索引數據庫;當用戶進行查詢時,又通過檢索器在索引數據庫中進行內容提取,并依據日志分析器等系統性的判斷給到用戶一個依照相關度進行的排序列表,從而形成了用戶的查詢結果頁。

    要系統性的了解搜索引擎的原理,我們主要從以下幾個點切入:

    搜索器和控制器

    搜索器主要負責互聯網網頁采集(即網絡爬蟲-蜘蛛的作用)、內容提取以及定期更新策略的執行。

    互聯網上的信息存儲在無數個服務器上,任何搜索引擎要想回答用戶的搜索,首先要把網頁存在自己本地的服務器上,這靠的就是網絡爬蟲。它不停的向各種網站發送請求,將所得到的網頁存儲起來。那么爬蟲怎么知道往哪發送請求呢?通常的做法是利用網頁之間的鏈接從一個網頁出發,提取出指向其他頁面的鏈接,把它們當成將下次要請求的對象,不停重復這個過程。

    這里其實有很多細節要被考慮,比如:避免循環鏈接的網頁、解析網頁文檔提取里邊的鏈接、當鏈接無法打開時對錯誤進行處理等。

    爬蟲爬取的網頁存儲后,控制器將網頁的內容提取出來,并將這些信息送入原始數據庫。如何高效的爬取數據也是一個很大的挑戰。比如需要有成千上萬個爬蟲程序同時爬取數據,高效的將數據存儲起來以便之后分析等。這種分布式程序的實現是一個相當大的工程。為此,控制器還需定期的進行爬取策略的更新,用已提高爬取效率和節約流量成本。

    索引器

    用于理解搜索器所搜集的信息,分析和提取相關網頁信息(URL、編碼類型、頁面包含的關鍵詞、關鍵詞位置、生成時間、網頁大小、鏈接關系等等),通過計算獲得網頁針對頁面內容和鏈接中的關鍵詞相關度,從而形成索引數據庫。

    索引是幫助程序進行快速查找的。大家都用過新華字典。字典前邊的按照偏旁部首查字的部分就是索引。搜索引擎也一樣。這里要介紹第一個最重要的數據結構:反轉列表(inverted list)。

    搜索引擎所擁有的文檔中出現的每一個單詞都擁有一個反轉列表。它記錄了這個單詞在多少文檔中出現,分別是哪些文檔,每個文檔分部出現多少次,分別出現在什么位置等信息。比如Apple這個詞出現在文檔1,7,19,34,102。其中文檔1中出現了3次,分別在位置20,105,700。這樣當用戶搜索Apple時,搜索引擎就不用遍歷所有的文檔,只需要查找每個單詞對應的反轉列表就可以知道這個詞在哪里出現了。每一個網絡文檔不僅只有文本信息。它還可能包括URL、文件名、引用等部分。為了提高搜索質量,搜索引擎需要對文檔的不同部分分別處理,構造反轉列表。每一部分的單詞都要被加入到這個詞屬于此部分的反轉列表里。

    當然,索引系統中還包含很多其他的重要數據結構,都是為了提高用戶查詢結果的反饋效率,具體的內容大家可以去相關數據或搜索引擎查詢獲取。本培訓稿不做過多解釋。

    檢索器

    檢索器的功能是針對用戶的查詢請求在索引庫中快速檢出文檔,采用一定的檢索模型進行文檔與查詢的相關度分析,對輸出結果進行排序、聚類等操作,并實現某種用戶相關性反饋機制。

    日志分析器

    這是對用戶查詢和平臺反饋數據等信息的分析和優化系統。透過對用戶查詢記錄、用戶動作記錄、詞庫、網頁、URL權重、網頁大小、生成時間、鏈接關系等等的分析,促進索引和檢索器對索引數據庫陣列進行不斷的完善。有很多優化軟件其實就是根據這個進行開發和執行的。

    SEO應該是每個互聯網從業者必備的技能之一
    推送者創始人-PM奶爸

    相關文章