為什么知乎的搜索功能如此之爛爽锥?

這個題目來自知乎上的一個問題,我今年初開始做搜索相關(guān)的工作畔柔,到今天已經(jīng)整整7個月氯夷,于是想借這個題目將自己所理解的搜索引擎原理寫下來。
我不是專業(yè)的搜索工程師靶擦,日常工作主要是做搜索產(chǎn)品評測腮考,這個身份的缺點是自己的理解會有一些局限性,優(yōu)點是寫出來的內(nèi)容比較通俗易懂玄捕。
希望通過這些內(nèi)容能幫助大家更好的理解搜索產(chǎn)品踩蔚。

搜索引擎的第1步:抓取內(nèi)容。
百度枚粘、360以及搜狗等通用搜索引擎的處理對象是整個互聯(lián)網(wǎng)中上千億的網(wǎng)頁馅闽,所以搜索引擎需要面對的首要問題是如何將這些網(wǎng)頁下載到自己的服務(wù)器上。
進行這一任務(wù)的是一種被稱為“網(wǎng)絡(luò)爬蟲”的程序馍迄,搜索引擎會派出無數(shù)的“網(wǎng)絡(luò)爬蟲”按照一定的策略(如廣度優(yōu)先或者深度優(yōu)先)完成網(wǎng)頁抓取任務(wù)福也。
知乎的搜索是站內(nèi)搜索,處理對象是自己網(wǎng)站的內(nèi)容攀圈,在用戶完成內(nèi)容生產(chǎn)的同時暴凑,這些內(nèi)容就存儲到了知乎的服務(wù)器上。所以這一步對知乎來說是沒有問題的量承。

搜索引擎的第2步:建立索引搬设。
索引過程中一個很重要的步驟是分詞穴店,如這句話“化妝品和服裝”,正確的分詞方法應(yīng)該是[化妝品][和][服裝]拿穴,如果將“和”泣洞、“服”兩個字結(jié)合分成“和服”的話那么結(jié)果自然就不會相關(guān)。分詞背后需要有強大的詞庫儲備(并且需要時時更新)默色,以及強大的語義理解系統(tǒng)(比如上面的例子中球凰,“和服”是一個有意義的詞,但在這個場景下這樣分詞是有問題的)腿宰。
搜索引擎會為每個網(wǎng)頁(文檔)建立索引呕诉,其中可能包括網(wǎng)頁包含的詞組、詞組出現(xiàn)的位置(比如“北京大學(xué)”這個詞吃度,如果拆分成“北京”和“大學(xué)”兩個term甩挫,那么這兩個term的位置一定要緊挨著,并且北京在前椿每,否則語義會發(fā)生極大的變化)和頻率伊者、網(wǎng)頁的內(nèi)外鏈、甚至qanchor數(shù)據(jù)(如果用戶搜索“A"這個關(guān)鍵詞间护,點擊了網(wǎng)頁“B"亦渗,那么 B就是A的qancher)等。這些因子在決定搜索結(jié)果排序中都有很大的影響汁尺。
因為知乎的獨特性法精,每個回答對應(yīng)的索引除了上面提到的部分因素外,還可能會包括贊同數(shù)痴突、反對數(shù)搂蜓、感謝數(shù)、所屬的話題苞也、回答者(以及擅長的話題)等等洛勉。當然包含的因子越多,對搜索引擎的存儲和計算性能等都是巨大的挑戰(zhàn)如迟。
建立索引這個步驟難度較大收毫,即便是通用搜索引擎也在不停的優(yōu)化。

搜索引擎的第3步:確定排序殷勘。
當用戶輸入一個query后此再,備選結(jié)果集合中的每一條結(jié)果最終會通過一系列計算過程最終得到一個分數(shù),然后按照分數(shù)從高到低排序玲销。一條結(jié)果的得分高低主要跟下面幾個因素有關(guān)输拇,當然每個因素的權(quán)重因子也需要不斷的調(diào)整來提升準確性。
1贤斜、文本相關(guān)
這個很好理解策吠,網(wǎng)頁(問答)中包含的詞組需要和搜索詞一致逛裤。
2、用戶行為模型
對知乎中的回答來說猴抹,有以下幾個真理:
/點贊多的結(jié)果要好于點贊少的結(jié)果带族;
/反對少的結(jié)果要好于反對多的結(jié)果;
/自己點過贊的結(jié)果要好于普通的結(jié)果蟀给;

/擅長問題所屬領(lǐng)域的回答者的答案要好于普通的回答者蝙砌;如張三很擅長回答搜索領(lǐng)域相關(guān)的問題,李四擅長回答金融領(lǐng)域相關(guān)的問題跋理,那么對于一個搜索領(lǐng)域的問題择克,張三的回答要好于李四的回答。這其中用戶擅長的話題可以采用用戶自己標注或者官方標注的方式前普,也可以根據(jù)用戶的回答記錄智能標注肚邢,比如現(xiàn)在很多領(lǐng)域中都會推薦最佳回答者。
/用戶最終有效點擊了的結(jié)果要好于用戶沒有點擊或者是無效點擊的結(jié)果汁政。所謂有效點擊指的是用戶點擊并且有合理的停留時間道偷,而不是點擊之后很快就走了。
3记劈、網(wǎng)頁質(zhì)量
在搜索引擎中如果某個網(wǎng)頁被識別為網(wǎng)頁質(zhì)量差(作弊,廣告多并巍,頁面空短)目木,那么會被嚴重降權(quán)甚至屏蔽。
知乎上最近有人涉嫌借助知乎做問答營銷懊渡,如這篇文章提到的刽射,這類結(jié)果除了依靠用戶舉報外也需要用戶算法來識別。此外抖機靈的回答某種程度上也需要進行打壓剃执。

搜索是個很復(fù)雜的產(chǎn)品誓禁,技術(shù)門檻比較高,其中包含非常多的策略肾档。即便是通用搜索引擎目前也在不斷優(yōu)化當前的策略摹恰,同時也在添加新的策略。比如時效性策略怒见,同義詞策略俗慈,網(wǎng)頁質(zhì)量策略,網(wǎng)站權(quán)重策略等等遣耍。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闺阱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子舵变,更是在濱河造成了極大的恐慌酣溃,老刑警劉巖瘦穆,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赊豌,居然都是意外死亡扛或,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門亿絮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來告喊,“玉大人,你說我怎么就攤上這事派昧∏” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袭祟。 經(jīng)常有香客問我调煎,道長,這世上最難降的妖魔是什么纳寂? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮泻拦,結(jié)果婚禮上毙芜,老公的妹妹穿的比我還像新娘。我一直安慰自己争拐,他們只是感情好腋粥,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著架曹,像睡著了一般隘冲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绑雄,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天展辞,我揣著相機與錄音,去河邊找鬼万牺。 笑死罗珍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的杏愤。 我是一名探鬼主播靡砌,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼珊楼!你這毒婦竟也來了通殃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎画舌,沒想到半個月后堕担,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡曲聂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年霹购,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朋腋。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡齐疙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旭咽,到底是詐尸還是另有隱情贞奋,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布穷绵,位于F島的核電站轿塔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏仲墨。R本人自食惡果不足惜勾缭,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望目养。 院中可真熱鬧俩由,春花似錦、人聲如沸癌蚁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匈勋。三九已至,卻和暖如春膳叨,著一層夾襖步出監(jiān)牢的瞬間洽洁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工菲嘴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饿自,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓龄坪,卻偏偏與公主長得像昭雌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子健田,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容