搜索引擎的工作原理(二)

2016年2月17日13:49:51 發表評論

阿里云服務器

網頁搜集是搜索引擎三段式工作的第一階段的工作,在這個階段搜索引擎完成原始網頁的搜集,這些網頁將作為下一個階段的數據基礎。那么搜索引擎在這個階段會碰上哪些問題呢?

網頁搜集時機

第一個問題就是,搜索引擎是什么時候搜集網頁的呢?是用戶搜索的時候立刻去網絡上搜集呢?還是事先搜集好的呢?下面就來分析一下兩種方式的可行性。

1、即時搜集

即時搜集是指搜索引擎當用戶查詢的時候,即時的去網上搜集所有的網頁,然后一個個的分析處理,最后返回相應的結果。我們可以用下圖來表示這種搜集方式:

搜索引擎的工作原理(二)

假設網絡上有網頁 A、B、C…當搜索引擎接收到用戶的查詢時,搜索引擎立刻去互聯網搜集所有的網頁,然后處理排序后,返回結果列表 T、C、A、B…

雖然完成了任務,但是我們都知道搜索引擎下載和處理一個網頁起碼都需要1秒鐘,而對于每一個查詢搜索引擎都要處理上百億的網頁,那么我們通過這個方式想得到一個結果頁面,起碼要花上幾年的時間,這顯然是不現實的。

2、事先搜集

事先搜集是指搜索引擎一開始搜集好一批網頁,并處理好存儲在數據庫中,用戶在查詢的時候去數據庫中直接查詢匹配項。如下圖說明:

搜索引擎的工作原理(二)

一樣假設互聯網有網頁 A、B、C…搜索引擎事先將這些網頁搜集回來,并且處理排序后存在數據庫中,當用戶查詢的時候,搜索引擎直接去數據庫中獲得搜索結果并且返回,就可行性來議,這種方式是沒有問題的,因此主流的搜索引擎都是以事先搜集的方式搜集網頁。

網頁搜集方式

知道了搜索引擎使用的是事先搜集的搜集方式,但是如何搜集的,還是需要考慮的,一個好的搜集方案,可以大大提高搜集的效率。下面就介紹兩種網頁搜集方式。

1、定期搜集

定期搜集,就是指一開始先搜集一遍互聯網,之后每次搜集都替換掉上一次的內容,也稱為“批量搜集”。

比如一開始互聯網上有網頁 A、B、C…然后一段時間后,新出現了網頁E;網頁B被刪除了。那么下一次搜集的時候,搜索引擎會將網頁 A、B、C..E…都搜集回來,并且將網頁B僅數據庫中刪除掉,這樣就完成了一次搜集。

這樣的搜集方式優點是實現簡單,缺點是時新性差,以及重復搜集帶來的額外帶寬消耗。

2、增量搜集

增量搜集是指一開始先搜集一遍網頁,以后只是:①搜集新出現的網頁;②搜集上一次搜集后有所改動的網頁;③發現上次搜集后不再存在的網頁,并從庫中刪除掉。

比如一開始有網頁 A、B、C…然后一段時間出現了網頁E;網頁B被刪除了;網頁D更新了。那么下一次搜集的時候,搜索引擎只將更新了的D和新出現的網頁E搜集,并且刪除了網頁B,而其他頁面都不再做處理。

搜索引擎的工作原理(二)

這樣的搜集方式優點是時新性強(因為每天更新和新出現的網頁少,可以每天都搜集),缺點是系統復雜,尤其是在建立索引的過程中。

一般來說,主流的搜索引擎平時都是采用增量搜集的方式搜集網頁,然后定期進行一個批量搜集。

以上就是搜索引擎搜集網頁的簡介,但是在搜集網頁的過程中還有許多問題是搜索引擎需要攻克的,比如如何存儲搜集回來的網頁,如何避免重復搜集網頁,如何首先搜集重要的網頁以及搜索子系統的可擴展性等等。

maolai

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: