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

18 評(píng)論 44915 瀏覽 337 收藏 19 分鐘

『搜索』的目的是幫助用戶快速找到他們想要的內(nèi)容,在很多產(chǎn)品中有舉足輕重的作用。用戶通過知乎的搜索尋找問題的答案;通過淘寶的搜索篩選想要的商品;通過Airbnb的搜索尋找合適的房源等等。

搜索功能乍一看很簡單,其實(shí)涉及的邏輯很多,所以文章篇幅較長,接下來我們就通過4個(gè)方面來介紹一下關(guān)于搜索功能背后的邏輯。

一、搜索入口

搜索入口的位置,由產(chǎn)品對(duì)搜索功能的依賴程度決定,依賴程度越高,搜索入口的位置就會(huì)越重要。常見的搜索入口有三種形式,

第一種在頁面底部的tab

大家都知道底部tab是一個(gè)APP中最重要的位置,把搜索入口放此出的APP對(duì)搜索功能的依賴程度極高,例如App Store,用戶下載一個(gè)應(yīng)用有兩種方式,第一種是通過分類和推薦,第二種是通過搜索,大家可以想一下自己平時(shí)在下載APP時(shí)候大多是通過哪種方式下載的,預(yù)計(jì)60%以上是通過搜索轉(zhuǎn)化的。

第二種在頁面頂部的位置

有的懸停在頁面頂部,有的在頁面內(nèi),跟隨頁面滑動(dòng)。這類搜索入口特別常見,隨便打開你手機(jī)上的幾個(gè)APP,都可能看到這樣的搜索入口,這類APP對(duì)搜索功能的依賴程度依然非常高,相對(duì)于第一種有可能只是因?yàn)楫a(chǎn)品類型不同或者排版的限制,例如網(wǎng)易嚴(yán)選,用戶想快速找到合心意的商品,可能最便捷的方式還是搜索。

第三種在頁面右上角放一個(gè)小icon

這類應(yīng)用相對(duì)于前兩類,對(duì)搜索功能的依賴就不是那么高,他們各種推薦形式,以及分類等功能會(huì)瓜分搜索的流量,比如ENJOY,還有大家熟悉的今日頭條、36氪等內(nèi)容資訊類應(yīng)用。

當(dāng)然還有其它很多不同方式去展示搜索入口,很多APP由于內(nèi)容的限制、排列方式的限制等客觀因素,會(huì)妥協(xié)搜索入口的位置,沒有什么好壞之分,關(guān)鍵是要適合自己的產(chǎn)品。

二、輸入搜索內(nèi)容

設(shè)計(jì)輸入搜索內(nèi)容時(shí),要遵循的原則就是讓用戶快速完成輸入過程,同時(shí)盡可能預(yù)留一些運(yùn)營能力。無論是搜索聯(lián)想,還是搜索歷史,或者是分類搜索,雖然功能不同,但目的都是為了從讓用戶能夠快速完成輸入過程,進(jìn)入搜索結(jié)果。

輸入內(nèi)容的形式:文字、圖片、語音

1、文字輸入大家都很熟悉,這里主要是注意一下輸入域的一些基本限制條件和對(duì)應(yīng)的邏輯,比如最多可以輸入多少個(gè)字符;支持不支持特殊字符;輸入空格和輸入特殊字符對(duì)應(yīng)的toast提示等等。

2、圖片輸入也比較常見,例如手機(jī)淘寶,通過圖片搜索商品,原理就是通過人工智能圖像識(shí)別技術(shù),分析出來圖片里面商品,或者直接跟數(shù)據(jù)庫里的商品圖片做對(duì)比。

3、語音輸入形式比較多樣,最基礎(chǔ)的就是語音轉(zhuǎn)文字功能,還有比如蝦米音樂和網(wǎng)易云音樂的聽歌識(shí)曲,通過語音搜索歌曲。

搜索聯(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ù)由高到低排列,如下圖,毛巾累計(jì)被觸發(fā)8w次,毛衣累計(jì)被觸發(fā)6w次,所以聯(lián)想詞毛巾排在毛衣前面。數(shù)量就是說最多展示多少個(gè)聯(lián)想詞。

修改輸入內(nèi)容

修改輸入的內(nèi)容一般有兩種方式,一種是鍵盤上的退格鍵逐字刪除,另一種是當(dāng)輸入框里有內(nèi)容時(shí),輸入框后面出現(xiàn)一個(gè)小叉號(hào),點(diǎn)擊叉號(hào)可以清空輸入框。這個(gè)不難理解,當(dāng)輸入的字比較多時(shí),退格一個(gè)一個(gè)刪除效率比較低,這時(shí)候可以點(diǎn)擊小叉號(hào)直接清空輸入框。

搜索歷史

搜索歷史基本上是一個(gè)必備功能,用戶可以通過上一次的搜索內(nèi)容,直接到達(dá)搜索結(jié)果頁。應(yīng)用場景也很簡單,比如昨天看了毛衣,但是猶豫沒買,今天想接著看看,有搜索歷史的話,就不用再次輸入“毛衣”了,直接在搜索歷史里點(diǎn)擊即可。這里產(chǎn)品在出原型的時(shí)候也要把排序規(guī)則和展示數(shù)量寫出來,比如按照時(shí)間倒序排列,最多可展示20條。

熱門搜索

熱門搜索概念也比較簡單,就是把最近一段時(shí)間被搜索次數(shù)最多的詞展示出來,去引導(dǎo)用戶看一些最近熱門的商品或內(nèi)容,不過隨著時(shí)間發(fā)展,熱門搜索又被賦予了運(yùn)營能力,當(dāng)平臺(tái)想去主推某商品或內(nèi)容時(shí),可以把“它”偽裝到熱門搜索里,如下圖,“LEE”就是運(yùn)營人員后臺(tái)添加的詞,并不是真正的熱門搜索,當(dāng)然這里面也少不了商業(yè)推廣。產(chǎn)品在原型里寫邏輯時(shí),首先要寫清楚1、是否具備運(yùn)營能力;2、運(yùn)營位最多有幾個(gè);3、運(yùn)營位和熱搜詞怎么排序;4、熱搜詞最多幾個(gè);5、熱搜詞的來源;6、熱搜詞的排序規(guī)則。

分類搜索

當(dāng)平臺(tái)比較大,內(nèi)容類別比較多時(shí),很多產(chǎn)品就會(huì)提供分類搜索的功能,幫助用戶更快速的找到想要的內(nèi)容,例如淘寶APP,在搜索的時(shí)候就可以選擇是搜索全部,還是搜索天貓,或者是搜索店鋪。分類搜索的功能和后面我們要講到的搜索結(jié)果的分類展示其實(shí)是對(duì)應(yīng)的,都是給繁雜的內(nèi)容分了一下類,只不過一個(gè)是在搜索動(dòng)作前分類,一個(gè)是在搜索動(dòng)作后分類。

默認(rèn)提示詞

默認(rèn)提示詞如下圖所示,就是在輸入框內(nèi)默認(rèn)有的內(nèi)容,這種內(nèi)容一般有兩種,一種是引導(dǎo)用戶去輸入,例如“請(qǐng)輸入想要找的商品”;另一種就是運(yùn)營推廣,例如下圖默認(rèn)提示詞是“LEE高端牛仔褲”,這就是明顯的商業(yè)推廣,這時(shí)候如果用戶不輸入任何內(nèi)容,直接點(diǎn)擊搜索,默認(rèn)就會(huì)去搜“LEE高端牛仔褲”。

多詞搜索

對(duì)于多詞搜索的邏輯我也是一知半解,不知道大家還有沒有印象,早期淘寶搜索“毛衣套頭”和“毛衣 套頭”搜索結(jié)果是不同的,當(dāng)時(shí)好像是因?yàn)橄瘛按蟠a”、“套頭”、“藍(lán)色”這些屬性詞,一般都不會(huì)寫到商品標(biāo)題里,所以當(dāng)用戶輸入“大碼毛衣”搜索結(jié)果相對(duì)于“毛衣”就會(huì)有偏差,不過現(xiàn)在是一樣的,現(xiàn)在可能是人工智能已經(jīng)可以準(zhǔn)確的區(qū)分哪些是商品的屬性詞,哪些商品的關(guān)鍵詞。我也找了幾個(gè)還在采用這種方式的APP,說實(shí)話,并沒有感覺到對(duì)搜索結(jié)果有什么太大的促進(jìn)作用,大家也可以體驗(yàn)一下,例如在豆果美食APP輸入“西紅柿雞蛋”和“西紅柿 雞蛋”,可以對(duì)比一下搜索結(jié)果。

三、輸出搜索結(jié)果

“輸出搜索結(jié)果”的設(shè)計(jì)要遵循的基本原則是讓用戶快速獲取到想要的內(nèi)容。下面4個(gè)方面都是圍繞這個(gè)原則展開的。搜索結(jié)果的展示形式以及搜索結(jié)果的篩選條件,目的都是為了縮小選擇范圍,幫助用戶快速選擇;搜索結(jié)果的展示內(nèi)容是通過分析,確定哪些信息是對(duì)用戶有用的,就展示哪些內(nèi)容。

搜索結(jié)果的展示形式

常見的搜索結(jié)果展示形式有兩種,一種是多個(gè)頁面分類展示,一種是一個(gè)頁面堆疊展示,這個(gè)也比較容易判斷,當(dāng)不同類型的內(nèi)容都比較多時(shí),比較適合用分類展示的方式;當(dāng)內(nèi)容類型單一時(shí),適合在一個(gè)頁面內(nèi)展示。例如“知乎”,同時(shí)采用了兩種展示形式,我們搜索“旅行青蛙”關(guān)鍵字,綜合里面就是我們所說的堆疊展示,展示了用戶、話題、以及內(nèi)容,下面就全是內(nèi)容。當(dāng)然我們還可以點(diǎn)擊頂部的分類展示tab,選擇自己想要搜索的內(nèi)容類型。大家可以體驗(yàn)一下。

搜索結(jié)果的篩選條件

篩選條件存在的意義是縮小選擇范圍,讓用戶可以更快速,更準(zhǔn)確的找到自己想要的內(nèi)容。具體的篩選條件要根據(jù)產(chǎn)品本身的內(nèi)容來確定。例如“網(wǎng)易嚴(yán)選”,他的篩選條件比較簡單,只有一個(gè)價(jià)格和分類,我們也可以體驗(yàn)一下淘寶、京東,他們的篩選條件會(huì)比較多。

搜索結(jié)果的展示內(nèi)容

搜索結(jié)果中展示的具體內(nèi)容是通過分析用戶需求,找到最能命中用戶需求的信息。例如“京東”,搜索結(jié)果中展示的內(nèi)容有,商品圖片、商品名稱、商品價(jià)格、商品評(píng)價(jià)、好評(píng)率、推薦語、促銷信息、產(chǎn)品規(guī)格。還有比如一些視頻類產(chǎn)品搜索結(jié)果中一般展示視頻縮略圖、視頻時(shí)長、視頻標(biāo)題、視頻發(fā)布時(shí)間等。(我們可以看到京東搜索結(jié)果的展示方式是我們上面說的堆疊展示,以及下面的篩選條件)

搜索結(jié)果的rank邏輯

搜索結(jié)果的rank邏輯是搜索功能最核心的邏輯之一,需要根據(jù)產(chǎn)品的不同發(fā)展階段不斷去優(yōu)化。那么為什么要對(duì)搜索結(jié)果進(jìn)行排序呢?首先簡單說一下搜索功能的執(zhí)行流程,當(dāng)用戶搜索一個(gè)關(guān)鍵字,這時(shí)候程序執(zhí)行一套算法算出匹配度,內(nèi)容這時(shí)候已經(jīng)產(chǎn)生一種按匹配度高低的排序,然后接著執(zhí)行“搜索結(jié)果的rank邏輯”,對(duì)按照匹配度的排序進(jìn)行一定的調(diào)整,產(chǎn)出新的排序。

下面我們就簡單舉個(gè)例子,比如電商類產(chǎn)品:

1、我們?nèi)ニ阉鳌懊隆标P(guān)鍵字通過執(zhí)行匹配度算法,把數(shù)據(jù)庫里能匹配到該關(guān)鍵字的所有商品都拉出來,因?yàn)闆]有其它條件限制,所以什么樣的商品都可能被展示出來,這顯然不是我們想要的

2、執(zhí)行搜索結(jié)果的rank邏輯,這個(gè)rank邏輯是什么呢,例如,收藏?cái)?shù)是一個(gè)因素,收藏越多的,排序更靠前一點(diǎn);瀏覽量是一個(gè)因素,瀏覽越多的,排序也更靠前一點(diǎn);還有轉(zhuǎn)化率、寶貝詳情頁的停留時(shí)長、好評(píng)率、主圖效果、商家信譽(yù)等等很多因素,rank邏輯就是把這些因素融合到一起,每個(gè)因素占不同的權(quán)重,然后最終給出一個(gè)排序結(jié)果。聽起來好像也沒什么難的,其實(shí)不然,比如,按照上面說的,等產(chǎn)品發(fā)展了一段時(shí)間,是不是那些老的商家就占優(yōu)勢(shì),而新商家得不到曝光,產(chǎn)生馬太效應(yīng)。這只是最常見的一種問題,這就是剛才我們說的,需要根據(jù)產(chǎn)品的不同發(fā)展階段去不斷優(yōu)化rank邏輯。

3、通過rank邏輯,用戶看到更合理的排序。上面我們說的篩選條件,其實(shí)就是用戶可以自主選擇按照哪個(gè)影響因素去排序。

四、搜索異常態(tài)

異常態(tài)是指在非正常條件下出現(xiàn)的狀態(tài)。這也是很多初級(jí)產(chǎn)品容易忽略的地方,下面我們一塊兒來看一下搜索功能都有哪些異常態(tài)。

搜索無結(jié)果

搜索無結(jié)果可以分為兩種情況,一種是一個(gè)內(nèi)容也沒搜到,另一種是搜索的內(nèi)容較少。這兩種情況有的會(huì)分開,有的會(huì)單獨(dú)處理。處理方式一般就是一個(gè)空白頁,給一個(gè)小icon,一句安慰用戶的提示語,讓用戶不至于那么生氣,或者是像下圖一樣,給出其它選擇,這樣不至于讓用戶的操作走向一條“死路”。

首次搜索

首次使用搜索功能,一般都會(huì)缺少某些數(shù)據(jù),比如“搜索歷史”,這時(shí)候要考慮到這些功能處理方式,比如要不要保留搜索歷史的標(biāo)題等等。

網(wǎng)絡(luò)異常

網(wǎng)絡(luò)異常是每個(gè)功能都要考慮的情況,在搜索功能中主要考慮三個(gè)問題:

1、異常提醒在哪個(gè)頁面更合適,用什么樣的方式提醒打擾用戶最少,比如,當(dāng)沒有網(wǎng)的時(shí)候,用戶應(yīng)該還能正常點(diǎn)擊搜索框,進(jìn)入搜索頁面,這時(shí)候由于網(wǎng)絡(luò)問題“熱門搜索”功能可能顯示不出來,這時(shí)候應(yīng)該給用戶一個(gè)網(wǎng)絡(luò)異常的提醒。

2、聯(lián)想詞頁面的網(wǎng)絡(luò)異常處理方式,常見的有3種,第一種是直接沒有聯(lián)想詞頁面,第二種是有聯(lián)想詞頁面,但是是空白的,第三種是用上一次搜索的聯(lián)想詞內(nèi)容,個(gè)人還是傾向第二種處理方式,大家可以試一下。

3、搜索結(jié)果頁的網(wǎng)絡(luò)異常處理方式,常見的也有2種,第一種是點(diǎn)擊完搜索直接又跳回來,toast提示異常,第二種是在搜索結(jié)果頁給一個(gè)異常狀態(tài),告訴用戶網(wǎng)絡(luò)異常。這其實(shí)上面我們說的異常提醒在哪個(gè)頁面更合適是一個(gè)問題。

交互:最后再插一句關(guān)于交互方面的,就像搜索框什么時(shí)候獲取焦點(diǎn)鍵盤彈出,什么時(shí)候失去焦點(diǎn)鍵盤消失等等,例如在“聯(lián)想詞頁面”我們滑動(dòng)聯(lián)想詞,搜索框就失去焦點(diǎn),鍵盤消失,這些都要考慮到。

到這里整個(gè)搜索功能的邏輯就梳理完了,希望可以對(duì)大家有所幫助,非常感謝。

 

本文由 @一捆書 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 我想問下算法需要產(chǎn)品經(jīng)理提供什么東西嗎?現(xiàn)在公司很多篩選匹配的規(guī)則邏輯都讓我去寫好給開發(fā),完全寫不來啊,頭大

    來自浙江 回復(fù)
    1. 好兄弟,跟你一樣

      來自北京 回復(fù)
    2. 哈哈哈,畫了一大堆流程圖,開發(fā)寫了一年還沒寫完,說太復(fù)雜了

      來自浙江 回復(fù)
  2. 學(xué)習(xí)了,感謝!

  3. 求教大神,聯(lián)想詞的推薦算法是什么呢,如果做到最精確地聯(lián)想到用戶最需要的詞呀?

    來自北京 回復(fù)
  4. 請(qǐng)問聯(lián)想搜索詞的排序問題,上面所說毛巾累計(jì)被觸發(fā)8w次,毛衣累計(jì)被觸發(fā)6w次,這里的“觸發(fā)”次數(shù)指的是什么,有用戶搜索一次算作一次觸發(fā)嗎?渴求答案中…… ??

    來自廣東 回復(fù)
  5. 我想問一下 聯(lián)想詞的數(shù)據(jù)是怎么來的

    回復(fù)
    1. 同問

      來自北京 回復(fù)
    2. 同問

      來自四川 回復(fù)
    3. 這個(gè)不是冷啟動(dòng)就需要有的數(shù)據(jù)嗎

      來自福建 回復(fù)
  6. 或者是像下圖一樣,給出其它選擇,這樣不至于讓用戶的操作走向一條“死路”,然而沒有圖哇。

    來自陜西 回復(fù)
    1. 太抱歉了,圖沒有傳上去,關(guān)于搜索無結(jié)果頁的處理,第一種就是頁面提示“您搜索的內(nèi)容不存在”這時(shí)候用戶的動(dòng)作只能是返回,重新搜索。
      第二種就是頁面除了給第一種提示,還會(huì)給用戶其它選擇,比如,搜索的內(nèi)容雖然不存在,但是給用戶推薦相關(guān)的內(nèi)容。形式多種多樣。

      回復(fù)
  7. 不好意思 請(qǐng)教一下 搜索無結(jié)果您的第二種情況可以詳細(xì)說一下嗎 有一點(diǎn)疑惑 還有他的處理方式

    來自四川 回復(fù)
    1. 你說的第二種情況是搜索結(jié)果內(nèi)容少嘛?

      來自江蘇 回復(fù)
    2. 是的

      來自四川 回復(fù)
    3. 抱歉,圖沒有傳上去,直接跟您說一個(gè)案例吧,網(wǎng)易嚴(yán)選,您首先搜索一堆亂七八糟的,這時(shí)候會(huì)出來搜索無結(jié)果頁面,并且下面給了一個(gè)為你推薦列表。這種就是當(dāng)搜索無結(jié)果時(shí)給了空白頁 其它轉(zhuǎn)化路徑。

      然后您再搜索比如“毛衣藍(lán)色”,這個(gè)和上面情況不同,因?yàn)榫W(wǎng)易嚴(yán)選上有毛衣,但是藍(lán)色毛衣沒有或者不多,所以出來的搜索結(jié)果頁是為你找到其它相關(guān)商品。這種就是搜索結(jié)果較少時(shí)給了其它轉(zhuǎn)化路徑。

      如果簡單處理就是搜索無結(jié)果,直接就提示無結(jié)果,搜索結(jié)果較少,就有幾個(gè)顯示幾個(gè)。

      回復(fù)
  8. 又學(xué)習(xí)到一些東西!謝謝作者!

    來自四川 回復(fù)
    1. 互相學(xué)習(xí)

      來自北京 回復(fù)