最近對研究搜尋引擎有濃厚的興趣,在這裡總結如下:
搜尋引擎的資訊**於網際網路網頁,通過網路爬蟲將整個網際網路的資訊獲取到本地,因為網頁中有相當大比例的內容是完全相同或近似重複的,網頁去重模組會對此進行檢測,並去除重複內容。
之後搜尋引擎會對網頁進行解析,抽取出網頁主體內容,以及頁面包含的指向其他頁面的鏈結。為了加快響應使用者查詢,網頁內容通過「倒排索引」這種高效查詢資料結構來儲存,而網頁之間的鏈結關係也會予以儲存。通過「鏈結分析」可以判斷頁面重要性,這對於提高準確性幫助很大。
由於網頁數量太多,搜尋引擎不僅需要儲存網頁原始資訊,還要儲存一些中間的處理結果,這就需要搭建優秀可靠的雲儲存和雲計算平台。
當搜尋引擎接收到使用者的查詢詞後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和使用者資訊來正確推導使用者的真正搜尋意圖。之後首先在快取中查詢,快取系統儲存了不同的查詢意圖對應的搜尋結果,如果快取有滿足要求的資訊,直接將搜尋結果返回給使用者,反之,呼叫「網頁排序」模組功能,根據使用者的查詢實時計算哪些網頁是滿足使用者資訊需求的,並排序輸出作為搜尋結果。網頁排序最重要的兩個參考因素:內容相似性和網頁重要性。
搜尋引擎的「反作弊」模組成為日益重要的功能。各種作弊方式流行,通過各種手段將網頁的搜尋排名提高到與網頁質量不相稱的位置,會嚴重影響使用者體驗,所以研究如何發現作弊網頁,成為非常重要的組成部分。
搜尋引擎架構
搜尋引擎獲取並儲存海量的網頁相關資訊,不需要實時計算,可看做搜尋引擎的後台計算系統。搜尋引擎的最重要目的是為使用者提供準確全面的搜尋結果。當搜尋引擎接收到使用者的查詢詞後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和使用者資訊來正確推導使用者的真正搜尋結果,如果能夠在快取系統找到滿足使用者需求的資...
搜尋引擎的技術架構
作為網際網路應用中最具技術含量的應用之一,優秀的搜尋引擎需要複雜的架構和高效的演算法,以此來支撐對海量資料的獲取 儲存,以及對使用者查詢的快速而準確的響應。下圖所示是乙個通用搜尋引擎的架構示意圖。搜尋引擎由許多模組組成,各自負責不同的功能作用,相互配合形成完整的架構。搜尋引擎的資訊來自於網際網路網頁...
Nutch搜尋引擎系統架構
下面分析一下nutch搜尋引擎系統的特點。一 系統架構 總體上nutch可以分為2個部分 抓取部分和搜尋部分。抓取程式抓取頁面並把抓取回來的資料做成反向索引,搜尋程式則對反向索引搜尋回答使用者的請求。抓 取程式和搜尋程式的介面是索引,兩者都使用索引中的字段。抓取程式和搜尋程式可以分別位於不同的機器上...