產品經理學技術:搜索引擎工作原理
在互聯網時代,搜索引擎可以說是日常生活的一部分。不僅如此,搜索引擎歷經20多年的風霜雨雪,仍然牢牢占據著流量入口,不得不讓人感嘆。
而且,提起搜索引擎,我們都會想到一家高大上的巨無霸公司和一家被黑出xiang的巨霸公司。足以見得搜索引擎的巨大作用。
作為產品人,對此當然不能視而不見,也應該了解了解其工作原理。
搜索引擎工作原理大致可以分為3個步驟
1. 爬行與抓取
2. 預處理
3. 排序
所謂一圖勝千言,沒圖我說個……
PS:上圖總結自《SEO實戰密碼》。
下面詳細敘述:
爬行與抓取
簡單地說:就是搜索引擎蜘蛛沿著互聯網絡爬行并抓取其爬行的頁面,將這些抓取的頁面存儲起來。
說到這,你可能會問:為什么叫「蜘蛛」?
為了抓取盡量多的頁面,搜索引擎會跟蹤頁面上的鏈接,從一個頁面爬行到下一個頁面,好像蜘蛛在蜘蛛網上爬行那樣,這就是搜索引擎蜘蛛這個名稱的由來。
搜索引擎在跟蹤網絡上的鏈接時,會使用一定策略,因為現在的網絡鏈接太多。最簡單的爬行遍歷策略有兩種,一種是深度優先,一種是廣度優先。
還有一點值得一提:搜索引擎訪問網站頁面時類似于普通用戶使用的瀏覽器。搜索引擎蜘蛛抓取的數據存入原始頁面數據庫,其中的頁面數據與用戶瀏覽器得到的HTML完全一樣。
預處理
由于抓取的頁面數量太大(以”億”為單位),無法快速實時排序,所以需要預處理。這就是產品設計中的「復雜性守恒原則」,我們沒辦法讓用戶等待十幾秒甚至更久,就只能在后臺處理上下功夫。
在一些資料中,「預處理」也被稱為「索引」,因為「索引」是預處理最主要的內容。
預處理的過程比較復雜,值得一提的有這么幾點:
-
- 去重:對于內容相似度高的,搜索引擎不喜歡,因為用戶不喜歡這樣的內容。而且,搜索引擎的去重算法很可能不止于頁面級別,而是進行到段落級別。因此,混合不同文章、交叉調換段落順序也不能使轉載和抄襲變成原創。所以,少抄襲,多原創吧。
- 正向索引:可以簡稱為「索引」。通過這個步驟,搜索引擎將頁面及關鍵詞形成詞表結構存儲進索引庫。簡化的索引詞表形式如下。你看,這樣就得到了每個文件(如每個頁面)的對應關鍵詞。這樣用戶就能搜索了嗎?還不行。
- 倒排索引:正向索引雖然提供了文件與關鍵詞的對應關系,但無奈用戶搜索的是關鍵詞,因此搜索引擎還需根據這些對應關系找到某關鍵詞對應的文件,這樣的計算量無法滿足實時返回排名結果的要求。因此,還需要倒排索引。倒排索引與正向索引剛好相反,它以關鍵詞為關鍵,簡單來說如下表:
得到了倒排索引,就能很快地根據用戶搜索的關鍵詞找到對應文件,但這樣就夠了嗎?別天真啊。
通過上述步驟,其實只得到了頁面本身的內容。說白了,就是頁面本身告訴搜索引擎自己如何如何。
俗話說:王婆賣瓜,自賣自夸。
就像我們網購時不僅會看店家給的商品介紹,還會看看買家的評論一樣,頁面內容質量,也需要其他人的評價——這里的「其他人」指「其他頁面。」所以,我們還需要鏈接關系計算。
- 鏈接關系計算:每個頁面上都有鏈接,不同頁面之間用鏈接互相關聯起來,這些關聯關系,就形成了其他頁面對某個頁面的評價。這些復雜的鏈接指向關系形成了網站和頁面的鏈接權重。
排名
發現沒有:排名,是用戶是用戶唯一能感覺到的步驟,爬行與抓取、預處理,都在后臺完成。正因如此,用戶才會感到用起來十分快捷。
排名的過程也比較復雜,其中值得一提的有如下幾點:
- 搜索詞處理:說白了,就是處理用戶輸入的關鍵詞。這一步對用戶來說更為關鍵,因為搜索引擎還不夠智能,需要我們去學習一些高級指令,以獲得更為精準的內容。
但由于每個關鍵詞對應的文件數量都可能是巨大的(如幾億個),處理如此龐大的數據量,無法滿足用戶對「快」的需求。同時,用戶并不需要所有內容,他們往往只查看前幾頁內容,甚至很多用戶只查看第一頁的前幾條內容。因此,選擇一定數量的內容進行處理,很有必要。這就涉及到選擇初識子集。
但如何選擇呢?這是一個問題。
- 選擇初識子集:選擇出示子集,關鍵在于「權重」。所以說權重有多重要,即使頁面做得好,但權重不高,連做備胎的機會都沒有。
- 相關性計算:這是排名過程中最重要的一步,最終搜索結果頁面的排名基本按照相關性從高到低排序。
但到此就結束了嗎?還沒有哦。
- 排名過濾及調整:為了保證用戶搜索結果更符合用戶需求,搜索引擎需要過濾掉那些處心積慮鉆空子的頁面,在這一步,搜索引擎會找出這些頁面并施加懲罰。典型的例子是百度的11位。所以,過度優化有風險。
- 查詢及點擊日志:通過這一步,搜索引擎記錄了用戶的一些數據,從而為后續的優化提供依據。這和產品日常工作中的數據埋點有些相似。
本文由 @ITDoer 原創發布于人人都是產品經理。未經許可,禁止轉載
pagerank不介紹嗎?
鏈接關系計算不就是pagerank么?