搜尋引擎的技術架構

2021-06-03 22:16:44 字數 852 閱讀 6595

作為網際網路應用中最具技術含量的應用之一,優秀的搜尋引擎需要複雜的架構和高效的演算法,以此來支撐對海量資料的獲取、儲存,以及對使用者查詢的快速而準確的響應。

下圖所示是乙個通用搜尋引擎的架構示意圖。搜尋引擎由許多模組組成,各自負責不同的功能作用,相互配合形成完整的架構。

搜尋引擎的資訊來自於網際網路網頁,通過網路爬蟲將整個網際網路的資訊獲取到本地儲存起來。因為網際網路中的好多網頁是重複的或者相似的,「網頁去重」模組就要對此作出檢測,去掉重複的網頁。

在此之後,搜尋引擎就會對抓取到本地的網頁進行解析,抽取出網頁主體內容,以及頁面中包含的指向其他頁面的鏈結。為了加快響應使用者的查詢速度,網頁內容通過「倒排索引」這種高效的查詢結構來儲存,而網頁的鏈結關係也會儲存起來。之所以要儲存鏈結關係,是因為這種關係在網頁相關性排序中是可以利用的,通過「鏈結分析」可以判斷頁面的相對重要性,對使用者提供準確的搜尋結果幫助很大

由於網頁數量太多,搜尋引擎不僅需要儲存網頁的原始資訊,還要儲存一些中間的處理結果,使用單台或者少量的機器是不現實的。因此,優秀的雲儲存與雲計算平台顯得尤為重要

當搜尋引擎接受到使用者的查詢詞之後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和使用者資訊來正確推到使用者的真正搜尋意圖。之後,先在快取中查詢,搜尋引擎的快取系統中儲存了不同的查詢意圖對應的搜尋結果,如果在快取中查到成功則直接返回給使用者

如果儲存在快取的資訊無法滿足使用者的需求,搜尋引擎呼叫「網頁排序」模組,根據使用者的查詢實時計算哪些網頁滿足使用者資訊需求的,並排序後輸出作為搜尋結果。而網頁排序有兩個最重要的兩個因素乙個是網頁相似性因素,另乙個是網頁重要性因素

除了上述功能模組外,「反作弊」模組已成為日益重要的功能。許多**通過多種方式作弊取得與之不相匹配的高排名而使得使用者體驗下降。「反作弊」模組就是找出這樣的**並作出相應的懲罰。

搜尋引擎的技術架構

搜尋引擎按其工作方式主要可分為三種 分別是全文搜尋引擎 full text search engine 目錄索引類搜尋引擎 search index directory 元搜尋引擎 meta search engine 全文搜尋引擎 雖然有搜尋功能,但嚴格意義上不能稱為真正的搜尋引擎,只是按目錄分類...

搜尋引擎的技術架構

搜尋引擎按其工作方式主要可分為三種 分別是全文搜尋引擎 full text search engine 目錄索引類搜尋引擎 search index directory 元搜尋引擎 meta search engine 全文搜尋引擎 元搜尋引擎在接受使用者查詢請求時,同時在其他多個引擎上進行搜尋,並...

搜尋引擎架構

最近對研究搜尋引擎有濃厚的興趣,在這裡總結如下 搜尋引擎的資訊 於網際網路網頁,通過網路爬蟲將整個網際網路的資訊獲取到本地,因為網頁中有相當大比例的內容是完全相同或近似重複的,網頁去重模組會對此進行檢測,並去除重複內容。之後搜尋引擎會對網頁進行解析,抽取出網頁主體內容,以及頁面包含的指向其他頁面的鏈...