如何做出優(yōu)雅的搜索功能?
搜索從宏觀上來看有兩種,一種是搜索引擎,另一種是垂直搜索。搜索引擎有 Google、Bing、百度、搜狗等等,而垂直搜索則是在大多數(shù)產(chǎn)品內(nèi)置的對(duì)內(nèi)容的檢索功能。此處僅討論垂直搜索。
一、搜索的核心
搜索的核心:
- 根據(jù)提供的已知信息,給用戶提供符合各方利益訴求的內(nèi)容。利益訴求包括:用戶的利益訴求(如優(yōu)質(zhì)的內(nèi)容)與產(chǎn)品的利益訴求(如搜索引擎廣告)
- 性能:快速的提供內(nèi)容
- 展示結(jié)果時(shí),考慮用戶體驗(yàn)
比如 Airbnb 算法中考慮的內(nèi)容有:
- 搜索主體的歷史偏好
- 搜索結(jié)果的質(zhì)量
- 整體的平衡(新房源的適當(dāng)傾斜)
二、搜索的幾個(gè)主體
- 搜索的用戶
- 輸入的內(nèi)容(關(guān)鍵詞/圖片/語音/二維碼)
- 搜索結(jié)果(屏蔽部分結(jié)果)
- 搜索結(jié)果的排序方式。
2.1 搜索的用戶
一個(gè)簡易的搜索功能,可能有關(guān)鍵詞+搜索結(jié)果就可以。但是一個(gè)完善的搜索功能,卻要通過對(duì)搜索主體偏好的猜測,對(duì)輸入內(nèi)容的語義分析,對(duì)搜索結(jié)果的質(zhì)量評(píng)估分析,對(duì)搜索結(jié)果的排序方式機(jī)器/人工調(diào)整為用戶呈現(xiàn)適當(dāng)?shù)慕Y(jié)果。
談到搜索的主體,時(shí)常關(guān)聯(lián)的詞匯是『大數(shù)據(jù)』,通過分析用戶的行為來對(duì)用戶建立起立體的用戶畫像,從而為用戶推送合適的內(nèi)容。譬如搜索引擎中廣告的,會(huì)根據(jù)用戶的過往搜索與瀏覽歷史進(jìn)行不同的展示。
大多數(shù)搜索并不需要考慮到搜索主體(鑒于收集用戶信息分析用戶偏好的成本非常高),需要考慮到搜索主體的,要不是提供內(nèi)容,要不就是是提供商品。
2.2 輸入的內(nèi)容
這里一共要談兩個(gè)部分,一是輸入的內(nèi)容,即關(guān)鍵詞(或其他形式的輸入),二是對(duì)輸入內(nèi)容的分析。
輸入的內(nèi)容主要有以下幾種類型,文字(如 Google 和百度)、圖片(百度、Google 、淘寶的圖片搜索)、語音(Siri 和出門問問)、二維碼等。
淘寶的圖片搜索
狹義的搜索輸入的內(nèi)容主要是文字形式的關(guān)鍵字。并通過關(guān)鍵字匹配來尋找搜索結(jié)果。
另外,這里有很重要的一項(xiàng)會(huì)影響到搜索結(jié)果質(zhì)量的功能,那就是對(duì)輸入內(nèi)容的分析(通常情況下是兩種,一是語義分析,二是圖片識(shí)別)。
搜索的核心在于通過用戶的輸入判斷用戶的需求,從而給出搜索結(jié)果。這里對(duì)于用戶輸入內(nèi)容分析的能力就直接影響到搜索功能的質(zhì)量。劣質(zhì)的搜索功能無法分析語義自動(dòng)分詞,只能給出完全匹配的結(jié)果。譬如,用戶輸入『大連衣裙』,劣質(zhì)的搜索功能就有可能給出這樣的結(jié)果『大連』『連衣』或者根本無法顯示匹配結(jié)果。
語音搜索的分析也是通過語音識(shí)別將其轉(zhuǎn)化為文字,然后進(jìn)行搜索。因此不提。
2.3 搜索結(jié)果
搜索引擎的結(jié)果有各式各樣的結(jié)果,而在應(yīng)用內(nèi)的垂直搜索也有可能有多種類型的結(jié)果。而大多數(shù)產(chǎn)品的做法是將搜索結(jié)果按照類型分為幾種,用戶可以點(diǎn)選 tab 按鈕切換。
網(wǎng)易云音樂的搜索結(jié)果
2.4 篩選/排序方式
對(duì)搜索結(jié)果的排序分為默認(rèn)排序和選擇排序。
產(chǎn)品內(nèi)的默認(rèn)排序通常是多種方式下的排序。例如百度,搜索結(jié)果下的默認(rèn)排序可能考慮了網(wǎng)頁的質(zhì)量、相關(guān)程度、廣告、發(fā)布時(shí)間、是否為百度的自家產(chǎn)品等。
但大多數(shù)產(chǎn)品會(huì)提供一種自定義的篩選和排序。例如淘寶,各種產(chǎn)品的數(shù)據(jù)高度結(jié)構(gòu)化,可以通過不同維度進(jìn)行篩選和排序。
手淘的排序
手淘的篩選
在理想情況下,搜索結(jié)果的默認(rèn)排序應(yīng)該有算法完全決定,越少的人工參與越好。但事實(shí)上大多數(shù)產(chǎn)品其實(shí)并不擁有那么強(qiáng)大的搜索算法,大多數(shù)產(chǎn)品也并不需要那樣強(qiáng)大的搜索功能,這時(shí)適度的人工干預(yù)就很重要了,不僅可以保證搜索結(jié)果的質(zhì)量,還可以根據(jù)盈利方面的考慮對(duì)搜索結(jié)果進(jìn)行調(diào)整。
三、其他的搜索
搜索不一定是一個(gè)獨(dú)立的功能,相信細(xì)心的你也曾發(fā)現(xiàn)過內(nèi)嵌在其他功能的搜索。
你想到了什么呢?
不知道你想到的和我想到的是不是一樣,那就是『微博』
微博和 Twitter 在發(fā)布的時(shí)候有一個(gè)特別的小功能,@(提及某人)和#(帶上話題)。這個(gè)操作雖然有一定的學(xué)習(xí)成本,卻是一個(gè)非常有巧思的設(shè)計(jì)。
Twitter中的@功能
Twitter 中的#功能
四、如何設(shè)計(jì)一個(gè)『優(yōu)雅』的搜索功能
以上說了那么多,似乎都沒有涉及如何設(shè)計(jì)搜索功能。
我認(rèn)為設(shè)計(jì)搜索功能,甚至任何一個(gè)新的 feature 都應(yīng)該首先考慮的問題是:為什么要增加這個(gè)功能,這個(gè)功能要解決什么問題,解決這個(gè)問題對(duì)于產(chǎn)品有多重要。
在理想情況下,我們都想做出一個(gè)比百度更好的搜索引擎,即使是在應(yīng)用內(nèi)。但是實(shí)際進(jìn)行過程中我們會(huì)遇到各種各樣的限制,這包括了有限的工期,有限的技術(shù)資源,有限的技術(shù)能力等等。除此之外,還有一個(gè)更現(xiàn)實(shí)的問題是,我們需要那么強(qiáng)大的搜索功能嗎?
任何的投入都要講求性價(jià)比,投入不僅包括金錢,還包括時(shí)間,尤其對(duì)于互聯(lián)網(wǎng)企業(yè)來說,早期的時(shí)間都是非常珍貴的,必須要用到投入產(chǎn)出比最高的功能上。如果你是一個(gè)小的電商網(wǎng)站,SKU 不過幾千,數(shù)據(jù)也不夠結(jié)構(gòu)化,那一個(gè)強(qiáng)大如淘寶搜索的功能很大程度上是浪費(fèi)的。任何時(shí)候都要尋找當(dāng)前階段下的 MVP(最小化可行產(chǎn)品)。
以上是起步前要了解的第一個(gè)問題:搜索功能的范圍控制
第二個(gè)問題是,搜索的算法。
算法是在搜索功能設(shè)計(jì)過程中最頭疼的部分,如何確定算法呢?
由于算法直接決定了開發(fā)的工期,所以需要根據(jù)考慮實(shí)際的資源情況,數(shù)據(jù)的結(jié)構(gòu)化情況和產(chǎn)品的實(shí)際需求。
- 最簡化版:根據(jù)與關(guān)鍵詞的匹配程度顯示
- 簡化版:加入搜索結(jié)果的權(quán)重(可以人工,也可以用算法賦值)
- 中間版:加入人工調(diào)整位置
- 復(fù)雜版:無限制,加入各項(xiàng)考慮,如用戶的個(gè)人偏好,相似用戶的偏好,產(chǎn)品的整體政策等。
算法這里,我也是門外漢。沒有參與過非常大的搜索引擎項(xiàng)目,所以只說到這里~并不是偷懶哦,只是能力所限。
第三步是,搜索的交互
同搜索的算法不同,搜索的交互可以給用戶直接的觀感?!航换ァ槐取核惴ā坏母倪M(jìn)更能帶給用戶明顯的感受。
交互的設(shè)計(jì)通常有以下幾個(gè)方面
- 搜索頁面
- 內(nèi)容輸入過程
- 搜索結(jié)果的展示
- 搜索結(jié)果的篩選與排序
詳細(xì)的內(nèi)容可能需要展開另外一篇文章來描述,此處就不細(xì)講了
作者:張小四兒,微信公眾號(hào):xiaosierzhang
原文鏈接:http://www.jianshu.com/p/da29924184de
我感覺更像是一篇知識(shí)普及,最關(guān)鍵的部分都帶過了。。不過癮那
謝謝