這就是搜尋引擎 讀書筆記一

2022-05-01 05:18:07 字數 2291 閱讀 8638

這就是搜尋引擎 -- 讀書筆記一

相信搜尋引擎對於每乙個愛好演算法甚至愛好技術的it人員都具有強烈的好奇心吧,因為搜尋引擎在網際網路中的地位實在是不可撼動。想象如果網際網路沒有了搜尋引擎,那麼我們平常技術上出現瓶頸了怎麼辦?甚至連普通的生活都離不開搜尋,大學生的你訂餐了嗎?

今天,我給大家講解一下搜尋引擎及其技術架構的基礎知識,讓我們對搜尋引擎有乙個大致的了解。

在資訊量快速增長的情況下,如何能夠找到滿足使用者需求的網頁內容就日益成為越來越重要的問題。資訊增長速度越快,使用者需求越迫切,相應的搜尋結果就越要準確。大的搜尋引擎公司就是在這個使用者需求背景下,從建立到逐步壯大,乃至發展到今天搜尋引擎成為最重要的網際網路的應用。

早期時候,隨著網際網路的進一步的快速發展,資訊的**性增長,已有的搜尋引擎服務提供商所提供的搜尋服務質量並無大的改善。google於2023年成立,以pagerank鏈結分析等新技術大幅度提高了搜尋質量,之後高速發展並搶占了絕大多數的搜尋引擎市場,成為目前最重要的網際網路之一。想想為什麼搜尋引擎公司這麼看重搜尋技術?就拿大學生訂餐這一事情來說,夠實際吧,如果你訂餐時查詢到的前3頁搜尋結果都是已經售完了的飯菜品,那麼此時飢餓的你感受如何?相信你連揍死店家的衝動都有。在另外一家外賣店的首頁上,搜尋第一條就是很新鮮的菜品,你會選擇哪一家外賣店呢?

從搜尋引擎所採取的技術來說,可以將搜尋引擎技術的發展劃分為4個階段:分類目錄、文字檢索、鏈結分析和使用者中心。

史前時代:分類目錄的一代

這個時代可以稱為「導航時代」,yahoo和國內hao123是這個時代的代表。通過人工收集整理,把屬於各個類別的高質量**或者網頁分門別類羅列,使用者可以根據分級目錄來查詢高質量的**。這種方式是純人工、最原始的方式,並未採取什麼高深的技術手段。

第一代:文字檢索的一代

第二代:鏈結分析的一代

這一代的搜尋引擎充分利用了網頁之間的鏈結關係,並深入挖掘和利用了網頁鏈結所代表的含義。通常而言,網頁鏈結代表了一種推薦關係,所以通過鏈結分析可以在海量內容中找出重要的網頁。這種重要性本質上是對網頁流行程度的一種衡量,因為被推薦次數多的網頁其實代表了其具有流行性。搜尋引擎通過結合網頁流行性和內容相似性來改善搜尋質量。

我們都知道google率先提出並使用pagerank鏈結分析技術,並大獲成功,這同時引起了學術界和其他商業搜尋引擎的關注。後來學術界陸續提出了很多改進的鏈結分析演算法。目前幾乎所有的商業搜尋引擎都採用了鏈結分析技術。

採用鏈結分析能夠有效改善搜尋結果質量,但是這種搜尋引擎並未考慮使用者的個性化要求,所以只要輸入的查詢請求相同,所有使用者都會獲得相同的搜尋結果。另外,很多**擁有者為了獲得更高的搜尋排名,針對鏈結分析演算法提出了不少鏈結作弊方案,這樣導致了搜尋結果質量變差。

第三代:使用者中心的一代

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

我們來看看這個搜尋引擎的基礎架構:

搜尋引擎的資訊源自於網際網路的網頁,通過網路爬蟲將整個網際網路的資訊獲取到本地,因為網際網路頁面中有相當大比例的內容是完全相同或者近似重複的,「網頁去重」模組會對此做出檢測,並去除重複內容。

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

當搜尋引擎接收到使用者的查詢詞後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和使用者資訊來正確推到使用者的真正搜尋意圖。在此之後,首先在快取中查詢,搜尋引擎的快取系統儲存了不同的查詢意圖對應的搜尋結果,如果能夠在快取系統找到滿足使用者需求的資訊,則可以直接將搜尋結果返回給使用者,這樣既省掉了重複計算對資源的消耗,又加快了響應速度;如果儲存在快取的資訊無法滿足使用者需求,搜尋引擎需要呼叫「網頁排序」模組功能,根據使用者的查詢實時計算哪些網頁是滿足使用者資訊需求的,並排序輸出作為搜尋結果。而網頁排序最重要的兩個參考因素中,乙個是內容相似性因素,即哪些網頁是和使用者查詢密切相關的;另外乙個是網頁重要性因素,即哪些網頁是質量較好或相對重要的,這點往往可以從鏈結分析的結果獲得。結合以上兩個考慮因素,就可以對網頁進行排序,作為使用者查詢的搜尋結果。

如今,除了上述的子功能模組,搜尋引擎的「反作弊」模組成為日益重要的功能。搜尋引擎作為網際網路使用者的上網入口,對於網路流量的引導與分流至關重要,甚至可以說起了決定性作用。

因此,作為it人員或者即將進入it行業的童鞋們,我們都應該對搜尋引擎有一些基本的認識。

這就是搜尋引擎(一) 引擎架構 網路爬蟲 索引建立

這個系列的文章是乙隻試圖通過產品角度出發去理解複雜龐大搜尋引擎的汪寫出來的,不足之處很多,歡迎廣大技術 非技術同學閱讀後指正錯誤,我們一起 共同進步。本篇主要介紹搜尋引擎的架構 網路爬蟲 及索引建立。通俗來講就是從網際網路海量資訊中撈出使用者感興趣的內容提供給使用者。鏈結分析 利用網頁間的鏈結關係分...

搜尋引擎《原理 技術與系統》讀書筆記(5)

hub網頁 hub 網頁 pic 內容類別 是從語義上對網頁的內容進行分類 正文是原始網頁中真正描述主題的部分,因此,在某些具體應用中用正文代替原始網頁更為合理。相關鏈結是指在本網頁中指向與正文內容相關的網頁的鏈結,而非廣告等噪音鏈結。將正文和相關超鏈重新組合就得到了淨化後的網頁。網頁的表示 構造標...

走進搜尋引擎 筆記 一

第一章 引論 1.1 搜尋引擎概述 1.1.1 搜尋引擎定義 1 搜尋引擎指自動從網際網路蒐集資訊,經過一定整理以後,提供給使用者進行查詢的系統。維基百科 2 搜尋 引擎是指根據一定的策略 運用特定的電腦程式從網際網路上蒐集資訊,在對資訊進行組織和處理後,為使用者提供檢索服務,將使用者檢索相關的資訊...