搜索引擎的工作原理簡介

搜索引擎是世界上最複雜的系統之一,其工作原理我們只需要瞭解即可,對於真正的搜索引擎核心技術基本上是不會公佈出來的,我們可以從信息檢索技術中窺探一二。SEO百科網帶來的是《搜索引擎的工作原理簡介-什麼是搜索引擎》。希望對大家有所幫助。

搜索引擎的工作原理簡介

一、文本採集

搜索引擎利用爬蟲通過爬行頁面上的超鏈接來發現新的頁面,如果這些頁面已經被收錄沒有任何更新則不會採取任何行為,如果發現頁面已經有些更新,則會重新對該頁面進行收錄,如果這些頁面是未被收錄的,則根據頁面的質量與互聯網內容重複率來決定是否還要進行收錄。

1)爬蟲

在不同的搜索引擎中有不同的叫法,百度稱之為蜘蛛(spider),谷歌稱之為機器人(Robot),當然比較傳統的叫法稱之為網絡爬蟲,或者簡稱為爬蟲。搜索引擎的爬蟲組件擔當著搜索引擎用來發現、抓取並存儲到數據庫的職責。而SEOer調整並讓網站更受爬蟲的喜歡,簡化爬蟲的工作量,減少蜘蛛陷阱等不利於爬行的頁面設計。

2)信息源

有了爬蟲,那麼爬蟲的爬行對象是什麼呢?一般爬蟲可以爬行並抓取的信息源類型為RSS,RSS是一個信息源的標準,有了這個站長都可以輕鬆轉載對方網站的文章。RSS採用的標準的XML數據格式。

3)轉化

爬蟲會遇到各種各樣的問題,可能會遇到一個html頁面,也可能會遇到一個word文檔,還可能是一個txt文件,那麼一般來講,搜索引擎會將這些轉化為統一的文本格式和文檔的元數據格式。在轉化的過程中就需要對某些內容進行刪減了。還有一個問題就是網站的編碼的問題,一般國內用的主要是GB2312或UTF-8的字符編碼規範。

4)文檔數據庫

爬蟲將抓取的這些頁面數據需要有序的存放到文檔數據庫中,需要保證效率為前提,然後還需要考慮壓縮、結構化數據、超級鏈接的提取等等才能夠存入到數據庫中。

二、文本轉換

1)解析器

搜索引擎中的解析器主要負責處理文檔中的文本詞素序列,這就涉及到中文分詞和英文分詞的問題了,更好地理解詞與詞組的意思。提到“蘋果”這個詞,很多人的第一想法就是吃的一種水果,但也有不少人會聯想到蘋果公司生產“iPhone”手機。這就是解析器需要搞明白的事情,明確這篇提到蘋果的文章,到底是寫水果了,還是在寫蘋果手機。

這種文檔結構通常是HTML或XML結構,HTML主要是定義網頁的結構的,XML就是數據上的存儲。且這兩種結構的文檔都是標籤語言,比如HTML中的a標籤<a href=""></a>。

2)停止詞去除

有一些詞在句子中只是讓句子更通順,並非起著非常重要的功能性上的作用,比如英文的“to”、“of”、“on”等,中文的“的”、“地”、“得”等。當然也可能存在實際的價值,如“大地”中的“地”就是有一定價值的詞,不能當做停止詞而被去除。

3)詞幹提取

針對於英文而言,需要提取詞的詞幹,比如“fishing”提取fish,但是中文卻幾乎不需要這做,因為做不了。

4)超鏈接的提取與分析

對於文檔解析中的超鏈接的提取是非常方便的,畢竟很容易識別出來嘛,然後這些也會被記錄到文檔數據庫中,然後大量的超鏈接經常搜索引擎算法的計算,會給予某些頁面非常高的信任度,也可能會懲罰那些惡意利用超鏈接作弊的頁面,這中間包括站內和站外。

5)信息的提取

對於頁面上到底是與哪些詞相關的,什麼時間發佈的,誰發佈的,轉自哪裡等等頁面信息都是需要搜索引擎來提取的。

6)分類組件

分類組件頁面都打上歸屬標籤,比如是關於體育的,還是關於IT的,亦或者是娛樂的。

三、索引創建

1)文檔統計

文檔統計簡單彙總和記錄詞、特徵和文檔的統計信息。比如我們在搜索引擎搜索後,搜索框下方會出現出現的相關結果數約多少個。

2)加權-正向索引

加權是搜索引擎的排名非常重要,它是搜索引擎對頁面識別並處理後的初始權重,體現出了文檔中某些詞的相對重要性,而這個加權結果是通過搜索引擎檢索模型來確定下來的。被SEOer熟知的一種加權方法稱之為TF-IDF,該方法有很多變型,但都基於索引項在文檔中出現的次數或頻率(詞頻 - TF)以及索引項在整個文檔集合中出現的頻率(反文件頻率 - IDF)。用比較簡單話來描述,就是當這個索引項出現在整個文檔集合(搜索引擎數據庫)中的數量小的時候,那麼反文件頻率則會小,這樣的頁面更容易排名;文檔中的詞頻越大,頁面加權會越大。

3)倒排索引

倒排索引組件是搜索引擎的核心組件,是將文檔對應多個索引項的形式,轉化成為索引項對應多個文檔的形式,這種做法稱之為建立倒排索引。

4)索引分派

索引分派是將索引分發給多臺計算機,理論上就是多個網絡節點,分佈式結構可以讓其更加有效率,同時可以降低其他節點出現問題導致的時延。

四、用戶交互

1)查詢輸入

查詢輸入組件提供了用戶接口和解析器,在用戶輸入並搜索之後,對該查詢內容進行解析,也可以理解為進行分詞處理。

2)查詢轉化

查詢轉化包括的內容很多,比如之前說過的分詞技術、停止詞的去除和詞幹的提取等等,然後生成可以查詢的索引詞。

在這裡還會平時我們常見到的搜索引擎努力糾正拼寫錯誤的詞彙,比如“博人轉”會自動顯示“博人傳”,輸入拼音“cuowu”,通常會顯示“錯誤”的相關搜索,而不是“錯悟”。同時還有一些相關建議,比如下拉詞和相關搜索詞的出現。

3)結果輸出

結果輸出頁面會對已經獲得的排好序的頁面顯示給用戶,比如這些頁面的標題、摘要、圖片展示等等。

五、索引排序

1)查詢處理

查詢處理組件會在檢索模型的基礎上,採用排序算法來計算這些文檔的分值,也等於是第二次加權處理。這裡的索引排序算法就是我們平時聽到的那些了,比如百度的綠蘿算法、Google的企鵝算法等等。

2)性能優化

優化索引排序算法和索引表的設計,可以降低系統響應的時間,從而提升查詢的吞吐量。

3)分佈式

既然索引可以分佈的給出,那麼排序也是可以分佈式給出的,也是提升的效率,節省了時間。

六、評價與調整

1)日誌

搜索引擎的點擊日誌是調整和改善搜索引擎系統效果和效率的非常有價值的信息源,通過用戶查詢與搜索引擎交互的信息可以調整搜索算法的不足。就明顯的就是SEOer常說的提升用戶友好度,方法就是提高用戶在網站的停留時間和打開的頁面數量,時間和數量越大,說明這個網站的用戶友好度就越高,提升這樣的頁面的排名,有利於提升搜索友好度,對搜索引擎也是有著極大好處的。

2)排序分析

擁有了日誌之後,就需要對現有排序進行分析了,比如給予初始排名比較高的頁面卻沒有點擊,或者又點擊跳出率卻非常高,降低這類頁面的排名,對於翻了幾頁後,點擊多且用戶表現出來的行為非常好的情況,會提升這類頁面的排名,當然,這種頁面很多的話,也會對整站排名有著非常好的作用。

3)性能分析

性能分析則是對搜索響應、吞吐量、網絡各個節點的使用情況進行分析,從而更好地優化搜索引擎的性能。

以上就是SEO百科網帶來的是《搜索引擎的工作原理簡介-什麼是搜索引擎》。感謝您的觀看。更多seo教程搜索“錯誤教程網”。原創文章歡迎轉載並保留版權:https://www.cuowu.com/

相關推薦

推薦中...