搜索功能的產品邏輯

如果老板扔一個需求:做個搜索的功能。作為一名產品經理,千萬不要只畫一個搜索框、一個“搜索”按鈕,然后交給開發:一周內把這個功能做出來! 一頭霧水的程序猿問:搜索的結果該怎么呈現?結果該怎么排序? 作為功能的設計者,如果你沒深入的思考搜索功能的產品邏輯,被鄙視、被噴、被嘲諷在所難免!

那搜索功能的原理是怎樣的呢?

對用戶來說,在什么情況下需要搜索呢?根據實際使用場景,無非兩種:1.用戶明確知道自己要什么內容,直奔主題快速搜索自己想要的內容;2.不清楚或者大致知道自己想要什么內容,通過搜索篩選出自己目標內容。不管何種場景,搜索滿足了用戶快速尋找自己感興趣內容的需求。用戶輸入一個query,一般系統會做出如下的處理流程:

? ? ? 第一步:系統對用戶輸入的信息進行解讀

? ? ? 第二步:根據用戶輸入信息對內容進行篩選

? ? ? 第三步:對篩選的結果進行排序

這是三個步驟是搜索機制的核心,可以通過服務端和系統的角度對搜索的原理進行解讀。我們先看一下數據的存儲邏輯:以一個電商平臺的搜索功能舉例來說,平臺內會有多種分類或品牌,如下:

數據庫的存儲結構就是類似于這個樣子的,左邊就是所謂的“詞庫”:只要一次搜索的輸入詞能匹配到詞庫,就可以快速的查找詞庫到對應的內容;右邊就是具體的內容索引庫。這種搜索模式就像圖書館的索引結構,一步一步的引導,找出用戶想要的內容。所以用一句話歸納:一個系統詞庫,一個內容索引庫,而且詞庫和索引庫是相互關聯的。

?根據這個原理,我們對上面的搜索核心步驟一步步進行解讀。

?第一步:系統對用戶輸入的信息進行解讀

通過詞庫找與之對應的內容,再把內容呈現給用戶,這當然是一個比較理想的狀態。但現實問題來了,我們系統不可能限制用戶的輸入行為,而我們系統的詞庫是有限的。比如,用戶輸入“我的滑板鞋子”,系統里不可能有這個詞,直接的結果就是搜索結束,用戶搜不到自己想要的結果。對于這種特殊情況,怎么才能展現結果呢?那就是分詞!? ?何為分詞,就是把用戶輸入的關鍵詞(字符串)進行拆分,比如用戶輸入的“我的天啊鞋子”可以進行如下拆分:“我的” ?“滑板鞋”,經過這樣的處理,用戶非標準的query就變成了標準的詞庫,可以進行下一步的流程處理了。

?第二步:根據用戶輸入信息對內容進行篩選

對用戶的query進行解讀之后,會得到一些標準化的詞,這些詞會對應一些內容,接下來就是對內容進行篩選了,對內容的篩選會涉及到兩個概念:召回率和準確率,看如下矩陣:

準確率指的是搜到內容中相關內容的比例;召回率指的是搜索到內容中,真正被搜索出來的比例。這兩個指標的比例越靠近1,效果越好,但是有些情況下,準確率和召回率是一組相互矛盾的指標,比如我們只搜索出一個搜索結果,且是正確的,那準確率就達到了100%,但是召回率卻很低。這兩個概念在搜索優化中是關鍵性指標,涉及到更高級的搜索機制,這里不做深入探討。這里需提醒一點,不是所有包含用戶query關鍵詞的結果都應該被召回。

?第三步:對搜索的結果進行排序

其實搜索的邏輯應該是通用的:用戶輸入一個文本(字符串),該文本會轉化為標準詞庫中的詞,搜索系統根據每個具體內容是否包含這些詞來決定是否展示這些內容,同時搜索系統根據文本的相關性給這些展示的內容一個分數,分數的高低決定的排序的先后。

因此,對搜索結果進行排序十分關鍵,排序位置的高低決定了點擊率、轉化率等一系列關鍵性運營指標,很顯然排序越靠前的結果更容易獲得用戶的點擊。好的搜索不僅僅是把應該搜索的內容盡可能的搜索出來,同時還要考慮應該把容易吸引用戶的內容展示在前面。但是如何對篩選出來的內容進行排序呢?這里涉及到了較復雜的算法規則。

下面這個Lucene的核心排序公式的原理,有專業文章詳細介紹:

(http://www.cnblogs.com/ibook360/archive/2011/10/19/2217638.html)

當然還有很多這種公式的變形式,所有的變形式都基于這個準則:賦予每個因子不同的權重,所賦予權重的值直接影響排序的先后。如搜索出來的商品,價格、銷量等元素都可作為排序的因子,如果把“銷量”這個因子賦予較高的權重,那么銷量較大的商品搜索出來會靠前。當然,對某個因子賦權的大小視業務的需求而定。

搜索的原理基本是這樣的,其中涉及到的一些復雜算法不在此篇文章的探討范圍之內,也無法進行深度探討。了解了搜索的原理,下次我們設計搜索系統、碰到搜索相關的功能時,腦子里就會有一個清晰的邏輯。原理了解了,那設計搜索功能還會遇到一些搜索的交互以及界面細節問題,下回找時間寫一篇文章介紹如何對搜索功能進行界面設計以及用戶體驗提升的細節。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容

  • 最近由于工作需要,調研學習各類產品的搜索功能,于是準備做個筆記和大家分享,也督促自己總結抽象。 首先思考一個問題,...
    兔子的產品實驗田閱讀 7,613評論 11 70
  • 不知不覺,歲寒輸入法的更新歷史已經可以列出這么一長串來了。從中可以看出,歲寒的發展過程也是一個不斷試錯的過程,其中...
    臨歲之寒閱讀 34,066評論 1 6
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,659評論 25 708
  • 概述及標簽體系搭建 1 概述 隨著信息技術的迅速發展和信息內容的日益增長,“信息過載”問題愈來愈嚴重,愈發帶來很大...
    JinkeyAI閱讀 22,858評論 10 241
  • (嚴重劇透,多圖。) 中國的同性電影我看得不多,細想來,印象深刻的有《美少年之戀》《藍宇》《春光乍瀉》《安非他命》...
    颼飗紅葉閱讀 1,914評論 13 21