如何設(shè)計搜索功能的邏輯

『搜索』的目的是幫助用戶快速找到他們想要的內(nèi)容,在很多產(chǎn)品中有舉足輕重的作用。用戶通過知乎的搜索尋找問題的答案;通過淘寶的搜索篩選想要的商品;通過Airbnb的搜索尋找合適的房源等等。
搜索功能乍一看很簡單,其實涉及的邏輯很多,所以文章篇幅較長,接下來我們就通過4個方面來介紹一下關(guān)于搜索功能背后的邏輯。
一、搜索入口
搜索入口的位置,由產(chǎn)品對搜索功能的依賴程度決定,依賴程度越高,搜索入口的位置就會越重要。常見的搜索入口有三種形式,
第一種在頁面底部的tab
大家都知道底部tab是一個APP中最重要的位置,把搜索入口放此出的APP對搜索功能的依賴程度極高,例如App Store,用戶下載一個應(yīng)用有兩種方式,第一種是通過分類和推薦,第二種是通過搜索,大家可以想一下自己平時在下載APP時候大多是通過哪種方式下載的,預(yù)計60%以上是通過搜索轉(zhuǎn)化的。
第二種在頁面頂部的位置
有的懸停在頁面頂部,有的在頁面內(nèi),跟隨頁面滑動。這類搜索入口特別常見,隨便打開你手機上的幾個APP,都可能看到這樣的搜索入口,這類APP對搜索功能的依賴程度依然非常高,相對于第一種有可能只是因為產(chǎn)品類型不同或者排版的限制,例如網(wǎng)易嚴選,用戶想快速找到合心意的商品,可能最便捷的方式還是搜索。
第三種在頁面右上角放一個小icon
這類應(yīng)用相對于前兩類,對搜索功能的依賴就不是那么高,他們各種推薦形式,以及分類等功能會瓜分搜索的流量,比如ENJOY,還有大家熟悉的今日頭條、36氪等內(nèi)容資訊類應(yīng)用。
當然還有其它很多不同方式去展示搜索入口,很多APP由于內(nèi)容的限制、排列方式的限制等客觀因素,會妥協(xié)搜索入口的位置,沒有什么好壞之分,關(guān)鍵是要適合自己的產(chǎn)品。
二、輸入搜索內(nèi)容
設(shè)計輸入搜索內(nèi)容時,要遵循的原則就是讓用戶快速完成輸入過程,同時盡可能預(yù)留一些運營能力。無論是搜索聯(lián)想,還是搜索歷史,或者是分類搜索,雖然功能不同,但目的都是為了從讓用戶能夠快速完成輸入過程,進入搜索結(jié)果。
輸入內(nèi)容的形式:文字、圖片、語音
1、文字輸入大家都很熟悉,這里主要是注意一下輸入域的一些基本限制條件和對應(yīng)的邏輯,比如最多可以輸入多少個字符;支持不支持特殊字符;輸入空格和輸入特殊字符對應(yīng)的toast提示等等。
2、圖片輸入也比較常見,例如手機淘寶,通過圖片搜索商品,原理就是通過人工智能圖像識別技術(shù),分析出來圖片里面商品,或者直接跟數(shù)據(jù)庫里的商品圖片做對比。
3、語音輸入形式比較多樣,最基礎(chǔ)的就是語音轉(zhuǎn)文字功能,還有比如蝦米音樂和網(wǎng)易云音樂的聽歌識曲,通過語音搜索歌曲。
搜索聯(lián)想
搜索聯(lián)想是指用戶輸入部分內(nèi)容,然后系統(tǒng)根據(jù)這些內(nèi)容聯(lián)想出完整內(nèi)容。聯(lián)想內(nèi)容可以在原有內(nèi)容的前面、后面、或者中間。這里產(chǎn)品容易忽略的是聯(lián)想詞的排序規(guī)則以及聯(lián)想詞的數(shù)量,假如我們按照聯(lián)想詞的被觸發(fā)次數(shù)由高到低排列,如下圖,毛巾累計被觸發(fā)8w次,毛衣累計被觸發(fā)6w次,所以聯(lián)想詞毛巾排在毛衣前面。數(shù)量就是說最多展示多少個聯(lián)想詞。
修改輸入內(nèi)容
修改輸入的內(nèi)容一般有兩種方式,一種是鍵盤上的退格鍵逐字刪除,另一種是當輸入框里有內(nèi)容時,輸入框后面出現(xiàn)一個小叉號,點擊叉號可以清空輸入框。這個不難理解,當輸入的字比較多時,退格一個一個刪除效率比較低,這時候可以點擊小叉號直接清空輸入框。
搜索歷史
搜索歷史基本上是一個必備功能,用戶可以通過上一次的搜索內(nèi)容,直接到達搜索結(jié)果頁。應(yīng)用場景也很簡單,比如昨天看了毛衣,但是猶豫沒買,今天想接著看看,有搜索歷史的話,就不用再次輸入“毛衣”了,直接在搜索歷史里點擊即可。這里產(chǎn)品在出原型的時候也要把排序規(guī)則和展示數(shù)量寫出來,比如按照時間倒序排列,最多可展示20條。
熱門搜索
熱門搜索概念也比較簡單,就是把最近一段時間被搜索次數(shù)最多的詞展示出來,去引導(dǎo)用戶看一些最近熱門的商品或內(nèi)容,不過隨著時間發(fā)展,熱門搜索又被賦予了運營能力,當平臺想去主推某商品或內(nèi)容時,可以把“它”偽裝到熱門搜索里,如下圖,“LEE”就是運營人員后臺添加的詞,并不是真正的熱門搜索,當然這里面也少不了商業(yè)推廣。產(chǎn)品在原型里寫邏輯時,首先要寫清楚1、是否具備運營能力;2、運營位最多有幾個;3、運營位和熱搜詞怎么排序;4、熱搜詞最多幾個;5、熱搜詞的來源;6、熱搜詞的排序規(guī)則。
分類搜索
當平臺比較大,內(nèi)容類別比較多時,很多產(chǎn)品就會提供分類搜索的功能,幫助用戶更快速的找到想要的內(nèi)容,例如淘寶APP,在搜索的時候就可以選擇是搜索全部,還是搜索天貓,或者是搜索店鋪。分類搜索的功能和后面我們要講到的搜索結(jié)果的分類展示其實是對應(yīng)的,都是給繁雜的內(nèi)容分了一下類,只不過一個是在搜索動作前分類,一個是在搜索動作后分類。
默認提示詞
默認提示詞如下圖所示,就是在輸入框內(nèi)默認有的內(nèi)容,這種內(nèi)容一般有兩種,一種是引導(dǎo)用戶去輸入,例如“請輸入想要找的商品”;另一種就是運營推廣,例如下圖默認提示詞是“LEE高端牛仔褲”,這就是明顯的商業(yè)推廣,這時候如果用戶不輸入任何內(nèi)容,直接點擊搜索,默認就會去搜“LEE高端牛仔褲”。
多詞搜索
對于多詞搜索的邏輯我也是一知半解,不知道大家還有沒有印象,早期淘寶搜索“毛衣套頭”和“毛衣 套頭”搜索結(jié)果是不同的,當時好像是因為像“大碼”、“套頭”、“藍色”這些屬性詞,一般都不會寫到商品標題里,所以當用戶輸入“大碼毛衣”搜索結(jié)果相對于“毛衣”就會有偏差,不過現(xiàn)在是一樣的,現(xiàn)在可能是人工智能已經(jīng)可以準確的區(qū)分哪些是商品的屬性詞,哪些商品的關(guān)鍵詞。我也找了幾個還在采用這種方式的APP,說實話,并沒有感覺到對搜索結(jié)果有什么太大的促進作用,大家也可以體驗一下,例如在豆果美食APP輸入“西紅柿雞蛋”和“西紅柿 雞蛋”,可以對比一下搜索結(jié)果。
三、輸出搜索結(jié)果
“輸出搜索結(jié)果”的設(shè)計要遵循的基本原則是讓用戶快速獲取到想要的內(nèi)容。下面4個方面都是圍繞這個原則展開的。搜索結(jié)果的展示形式以及搜索結(jié)果的篩選條件,目的都是為了縮小選擇范圍,幫助用戶快速選擇;搜索結(jié)果的展示內(nèi)容是通過分析,確定哪些信息是對用戶有用的,就展示哪些內(nèi)容。
搜索結(jié)果的展示形式
常見的搜索結(jié)果展示形式有兩種,一種是多個頁面分類展示,一種是一個頁面堆疊展示,這個也比較容易判斷,當不同類型的內(nèi)容都比較多時,比較適合用分類展示的方式;當內(nèi)容類型單一時,適合在一個頁面內(nèi)展示。例如“知乎”,同時采用了兩種展示形式,我們搜索“旅行青蛙”關(guān)鍵字,綜合里面就是我們所說的堆疊展示,展示了用戶、話題、以及內(nèi)容,下面就全是內(nèi)容。當然我們還可以點擊頂部的分類展示tab,選擇自己想要搜索的內(nèi)容類型。大家可以體驗一下。
搜索結(jié)果的篩選條件
篩選條件存在的意義是縮小選擇范圍,讓用戶可以更快速,更準確的找到自己想要的內(nèi)容。具體的篩選條件要根據(jù)產(chǎn)品本身的內(nèi)容來確定。例如“網(wǎng)易嚴選”,他的篩選條件比較簡單,只有一個價格和分類,我們也可以體驗一下淘寶、京東,他們的篩選條件會比較多。
搜索結(jié)果的展示內(nèi)容
搜索結(jié)果中展示的具體內(nèi)容是通過分析用戶需求,找到最能命中用戶需求的信息。例如“京東”,搜索結(jié)果中展示的內(nèi)容有,商品圖片、商品名稱、商品價格、商品評價、好評率、推薦語、促銷信息、產(chǎn)品規(guī)格。還有比如一些視頻類產(chǎn)品搜索結(jié)果中一般展示視頻縮略圖、視頻時長、視頻標題、視頻發(fā)布時間等。(我們可以看到京東搜索結(jié)果的展示方式是我們上面說的堆疊展示,以及下面的篩選條件)
搜索結(jié)果的rank邏輯
搜索結(jié)果的rank邏輯是搜索功能最核心的邏輯之一,需要根據(jù)產(chǎn)品的不同發(fā)展階段不斷去優(yōu)化。那么為什么要對搜索結(jié)果進行排序呢?首先簡單說一下搜索功能的執(zhí)行流程,當用戶搜索一個關(guān)鍵字,這時候程序執(zhí)行一套算法算出匹配度,內(nèi)容這時候已經(jīng)產(chǎn)生一種按匹配度高低的排序,然后接著執(zhí)行“搜索結(jié)果的rank邏輯”,對按照匹配度的排序進行一定的調(diào)整,產(chǎn)出新的排序。
下面我們就簡單舉個例子,比如電商類產(chǎn)品:
1、我們?nèi)ニ阉鳌懊隆标P(guān)鍵字通過執(zhí)行匹配度算法,把數(shù)據(jù)庫里能匹配到該關(guān)鍵字的所有商品都拉出來,因為沒有其它條件限制,所以什么樣的商品都可能被展示出來,這顯然不是我們想要的
2、執(zhí)行搜索結(jié)果的rank邏輯,這個rank邏輯是什么呢,例如,收藏數(shù)是一個因素,收藏越多的,排序更靠前一點;瀏覽量是一個因素,瀏覽越多的,排序也更靠前一點;還有轉(zhuǎn)化率、寶貝詳情頁的停留時長、好評率、主圖效果、商家信譽等等很多因素,rank邏輯就是把這些因素融合到一起,每個因素占不同的權(quán)重,然后最終給出一個排序結(jié)果。聽起來好像也沒什么難的,其實不然,比如,按照上面說的,等產(chǎn)品發(fā)展了一段時間,是不是那些老的商家就占優(yōu)勢,而新商家得不到曝光,產(chǎn)生馬太效應(yīng)。這只是最常見的一種問題,這就是剛才我們說的,需要根據(jù)產(chǎn)品的不同發(fā)展階段去不斷優(yōu)化rank邏輯。
3、通過rank邏輯,用戶看到更合理的排序。上面我們說的篩選條件,其實就是用戶可以自主選擇按照哪個影響因素去排序。
四、搜索異常態(tài)
異常態(tài)是指在非正常條件下出現(xiàn)的狀態(tài)。這也是很多初級產(chǎn)品容易忽略的地方,下面我們一塊兒來看一下搜索功能都有哪些異常態(tài)。
搜索無結(jié)果
搜索無結(jié)果可以分為兩種情況,一種是一個內(nèi)容也沒搜到,另一種是搜索的內(nèi)容較少。這兩種情況有的會分開,有的會單獨處理。處理方式一般就是一個空白頁,給一個小icon,一句安慰用戶的提示語,讓用戶不至于那么生氣,或者是像下圖一樣,給出其它選擇,這樣不至于讓用戶的操作走向一條“死路”。
首次搜索
首次使用搜索功能,一般都會缺少某些數(shù)據(jù),比如“搜索歷史”,這時候要考慮到這些功能處理方式,比如要不要保留搜索歷史的標題等等。
網(wǎng)絡(luò)異常
網(wǎng)絡(luò)異常是每個功能都要考慮的情況,在搜索功能中主要考慮三個問題:
1、異常提醒在哪個頁面更合適,用什么樣的方式提醒打擾用戶最少,比如,當沒有網(wǎng)的時候,用戶應(yīng)該還能正常點擊搜索框,進入搜索頁面,這時候由于網(wǎng)絡(luò)問題“熱門搜索”功能可能顯示不出來,這時候應(yīng)該給用戶一個網(wǎng)絡(luò)異常的提醒。
2、聯(lián)想詞頁面的網(wǎng)絡(luò)異常處理方式,常見的有3種,第一種是直接沒有聯(lián)想詞頁面,第二種是有聯(lián)想詞頁面,但是是空白的,第三種是用上一次搜索的聯(lián)想詞內(nèi)容,個人還是傾向第二種處理方式,大家可以試一下。
3、搜索結(jié)果頁的網(wǎng)絡(luò)異常處理方式,常見的也有2種,第一種是點擊完搜索直接又跳回來,toast提示異常,第二種是在搜索結(jié)果頁給一個異常狀態(tài),告訴用戶網(wǎng)絡(luò)異常。這其實上面我們說的異常提醒在哪個頁面更合適是一個問題。
交互:最后再插一句關(guān)于交互方面的,就像搜索框什么時候獲取焦點鍵盤彈出,什么時候失去焦點鍵盤消失等等,例如在“聯(lián)想詞頁面”我們滑動聯(lián)想詞,搜索框就失去焦點,鍵盤消失,這些都要考慮到。
到這里整個搜索功能的邏輯就梳理完了,希望可以對大家有所幫助,非常感謝。
本文由 @一捆書 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
我想問下算法需要產(chǎn)品經(jīng)理提供什么東西嗎?現(xiàn)在公司很多篩選匹配的規(guī)則邏輯都讓我去寫好給開發(fā),完全寫不來啊,頭大
好兄弟,跟你一樣
哈哈哈,畫了一大堆流程圖,開發(fā)寫了一年還沒寫完,說太復(fù)雜了
學(xué)習(xí)了,感謝!
求教大神,聯(lián)想詞的推薦算法是什么呢,如果做到最精確地聯(lián)想到用戶最需要的詞呀?
請問聯(lián)想搜索詞的排序問題,上面所說毛巾累計被觸發(fā)8w次,毛衣累計被觸發(fā)6w次,這里的“觸發(fā)”次數(shù)指的是什么,有用戶搜索一次算作一次觸發(fā)嗎?渴求答案中…… ??
我想問一下 聯(lián)想詞的數(shù)據(jù)是怎么來的
同問
同問
這個不是冷啟動就需要有的數(shù)據(jù)嗎
或者是像下圖一樣,給出其它選擇,這樣不至于讓用戶的操作走向一條“死路”,然而沒有圖哇。
太抱歉了,圖沒有傳上去,關(guān)于搜索無結(jié)果頁的處理,第一種就是頁面提示“您搜索的內(nèi)容不存在”這時候用戶的動作只能是返回,重新搜索。
第二種就是頁面除了給第一種提示,還會給用戶其它選擇,比如,搜索的內(nèi)容雖然不存在,但是給用戶推薦相關(guān)的內(nèi)容。形式多種多樣。
不好意思 請教一下 搜索無結(jié)果您的第二種情況可以詳細說一下嗎 有一點疑惑 還有他的處理方式
你說的第二種情況是搜索結(jié)果內(nèi)容少嘛?
是的
抱歉,圖沒有傳上去,直接跟您說一個案例吧,網(wǎng)易嚴選,您首先搜索一堆亂七八糟的,這時候會出來搜索無結(jié)果頁面,并且下面給了一個為你推薦列表。這種就是當搜索無結(jié)果時給了空白頁 其它轉(zhuǎn)化路徑。
然后您再搜索比如“毛衣藍色”,這個和上面情況不同,因為網(wǎng)易嚴選上有毛衣,但是藍色毛衣沒有或者不多,所以出來的搜索結(jié)果頁是為你找到其它相關(guān)商品。這種就是搜索結(jié)果較少時給了其它轉(zhuǎn)化路徑。
如果簡單處理就是搜索無結(jié)果,直接就提示無結(jié)果,搜索結(jié)果較少,就有幾個顯示幾個。
又學(xué)習(xí)到一些東西!謝謝作者!
互相學(xué)習(xí)