搜尋引擎基礎知識1 搜尋引擎的技術架構

2022-09-01 06:00:08 字數 2212 閱讀 7980

搜尋引擎按其工作方式主要可分為三種:

分別是全文搜尋引擎(full text search engine)

目錄索引類搜尋引擎(search index/directory)

元搜尋引擎(meta search engine)。 

■ 全文搜尋引擎

雖然有搜尋功能,但嚴格意義上不能稱為真正的搜尋引擎,只是按目錄分類的**鏈結列表而已。(更簡單說就是**導航**)

元搜尋引擎在接受使用者查詢請求時,同時在其他多個引擎上進行搜尋,並將結果返回給使用者。著名的元搜尋引擎有infospace、dogpile、vivisimo等(元搜尋引擎列表),中文元搜尋引擎中具代表性的有搜星搜尋引擎。在搜尋結果排列方面,有的直接按**引擎排列搜尋結果,如dogpile,有的則按自定的規則將結果重新排列組合,如vivisimo。

除上述三大類引擎外,還有以下幾種非主流形式:

垂直搜尋引擎

集合式搜尋引擎:該搜尋引擎類似元搜尋引擎,區別在於它並非同時呼叫多個搜尋引擎進行搜尋,而是由使用者從提供的若干搜尋引擎中選擇,如hotbot在2023年底推出的搜尋引擎。

門戶搜尋引擎

門戶搜尋引擎:aolsearch、msnsearch等雖然提供搜尋服務,但自身既沒有分類目錄也沒有網頁資料庫,其搜尋結果完全來自其他搜尋引擎。

免費鏈結列表

優秀的搜尋引擎需要複雜的架構和演算法,以 此來支撐對海量資料的獲取、儲存,以及對使用者查詢的快速而準確地響應。

從架構層面,搜尋引擎需要能夠對以百億計的海量網頁進行獲取、儲存、處理的能力,同 時要保證搜尋結果的質量。

如何獲取、儲存並計算如此海量的資料?

如何快速響應使用者的查 詢?

如何使得搜尋結果能夠滿足使用者的資訊需求?

這些都是搜尋引擎面對的技術挑戰。 下圖是乙個通用的搜尋引笨架構示意圖:

搜尋引擎架構

搜尋引擎由很多技術模組構成,各自負責整體 功能的一部分,相互紀合形成了完善的整體架構。

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

建立索引:

這種高效查詢資料

結構來儲存,而網頁之間的鏈結關係也會予以儲存。之所以要儲存鏈結關係可以判斷頁面的相對重要性,對於為用 戶提供準確的搜尋結果幫助很大。

由於網頁數量太多,搜尋引擎不僅需要儲存網頁原始資訊,還要儲存一些中間的處理結果 使用單台或者少量的機器明顯是不現實的。google等商業搜尋引擎為此開發了一整套雲儲存與 雲計算平台,使用數以萬計的普通廉價pc搭建了海量資訊的可靠儲存與計算架構,以此作為搜尋 引擎及其相關應用的基礎支撐。優秀的雲儲存與雲計算平台已經成為大型商業搜尋引擎的核心

競爭力。 上面所述是搜尋引擎如何獲取並儲存海量的網頁相關資訊,這些功能因為不需要實時計 算,所以可以被看做是搜尋弓i擎的後台計算系統。

查詢詞分析

搜尋引擎的最重要目的是為使用者提供準確全 面的搜尋結果,如何響應使用者查詢並實時地提供準確結果構成了搜尋引擎前台計算系統。 當搜尋引擎接收到使用者的查詢詞後,首先需要對查詢詞進行分析,希望能夠結合查詢詞和 使用者資訊來正確推導使用者的真正搜尋意圖。在此之後,首先在快取中查詢,搜尋引擎的快取系

統儲存了不同的查詢意圖對應的搜尋結果,如果能夠在快取系統找到滿足使用者需求的資訊,則 可以直接將搜尋結果返回給使用者,這樣既省掉了重複計算對資源的消耗,又加快了響應速度; 

如果儲存在快取的資訊無法滿足使用者需求,搜尋引擎需要調用"網頁排序"模快功能,根據用 戶的查詢實時計算哪些網頁是滿足使用者資訊需求的,並排序輸出作為搜尋結果。而網頁排序最 重要的兩個參考因素中,乙個是內容相似性因素,即哪些網頁是和使用者查詢密切相關的;另外 乙個是網頁重要性因素,即哪些網頁是質量較好或者相對重要的,這點往往可以從鏈結分析的 結果獲得。結合以上兩個考慮因素,就可以對網頁進行排序,作為使用者查詢的搜尋結果。

參考文獻: 

《這就是搜尋引擎:核心技術詳解》

《搜尋引擎—資訊檢索實踐》

搜尋引擎 倒排索引基礎知識

搜尋引擎的索引 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3 1 單詞 文件矩陣 從縱向即文件這個維度來看,每列代表文件包含了哪些單詞,比如文件1包含了詞彙1和詞彙4,而不包含其它單詞。...

搜尋引擎 倒排索引基礎知識

搜尋引擎的索引 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3 1 單詞 文件矩陣 從縱向即文件這個維度來看,每列代表文件包含了哪些單詞,比如文件1包含了詞彙1和詞彙4,而不包含其它單詞。...

搜尋引擎 倒排索引基礎知識

單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3 1 單詞 文件矩陣 從縱向即文件這個維度來看,每列代表文件包含了哪些單詞,比如文件1包含了詞彙1和詞彙4,而不包含其它單詞。從橫向即單詞這個...