如何從0到1搭建站內(nèi)搜索?
本文從為什么要做站內(nèi)搜索出發(fā),對(duì)做站內(nèi)搜索存在的問(wèn)題和具體設(shè)計(jì)步驟展開(kāi)了梳理和分析,并從用戶角度對(duì)需要注意的問(wèn)題進(jìn)行了總結(jié),與大家分享。
一、為什么要做站內(nèi)搜索
對(duì)于一個(gè)單獨(dú)的內(nèi)容站來(lái)說(shuō),搜索其實(shí)不算是用戶的常用功能,因?yàn)樵诮^大部分情況下,用戶會(huì)更加偏向于詢問(wèn)他人,也就是傳說(shuō)中的伸手黨。當(dāng)無(wú)法從他人獲取自己想要的內(nèi)容時(shí),用戶才會(huì)傾向于去找進(jìn)行搜索這個(gè)動(dòng)作,而這個(gè)動(dòng)作的發(fā)生環(huán)境通常也不是在一個(gè)單獨(dú)的內(nèi)容站內(nèi),更多地會(huì)更偏向使用 Google、百度等搜索引擎。
站在用戶的角度,這樣做當(dāng)然是更有意義的,能夠用較低的成本增加找到自己想要內(nèi)容的幾率。但是與此同時(shí),一個(gè)單獨(dú)的內(nèi)容站為什么還需要自己做搜索呢?
1. 讓用戶盡可能少地離開(kāi)網(wǎng)站去獲取信息
如果讓用戶都去通過(guò)搜索引擎獲取本站信息,用戶搜索關(guān)鍵詞的結(jié)果排序里,你的網(wǎng)站不一定能夠進(jìn)入第一頁(yè)內(nèi)。我們其實(shí)也都知道讓搜索引擎去獲取本站信息得以被搜索的初衷,不是去維護(hù)現(xiàn)有用戶,而是希望獲得更多精準(zhǔn)用戶。
所以,站內(nèi)搜索的主要目的是提高用戶使用本站的深度,獲取用戶搜索關(guān)鍵詞數(shù)據(jù)等。不過(guò)這部分需要時(shí)間去積累。
2. 部分網(wǎng)站不開(kāi)放數(shù)據(jù)
有些網(wǎng)站由于業(yè)務(wù)上、戰(zhàn)略上等等原因,不會(huì)開(kāi)放數(shù)據(jù)給搜索引擎使用,那么為了降低用戶找到內(nèi)容的成本,提供站內(nèi)搜索就是必然的選擇。
這種現(xiàn)象多出現(xiàn)于電商、O2O 等平臺(tái),同時(shí)也由于移動(dòng)互聯(lián)網(wǎng)的發(fā)展,入口和用戶習(xí)慣的改變,導(dǎo)致信息孤島急速擴(kuò)張,更多的平臺(tái)選擇了只有部分開(kāi)放甚至不開(kāi)放數(shù)據(jù)。(現(xiàn)在也有巨頭在嘗試打破這個(gè)現(xiàn)象,比如說(shuō)曾經(jīng)的小米傳送門(mén),和現(xiàn)在的微信搜一搜)
3. 用戶使用習(xí)慣的改變
這一部分其實(shí)前面已經(jīng)提到了,當(dāng)前使用互聯(lián)網(wǎng)的第一大入口已經(jīng)從瀏覽器等傳統(tǒng) PC 環(huán)境轉(zhuǎn)向移動(dòng)設(shè)備上的 App。呈現(xiàn)給用戶的形式再也不是一連串不知所謂的網(wǎng)址,而是手機(jī)桌面上可見(jiàn)的、鮮艷的 App 圖標(biāo),至于傳統(tǒng) PC 上用戶用得很多的網(wǎng)站聚合頁(yè),也更多被各種 App Store 所替代。
當(dāng)用戶進(jìn)入 App,呈現(xiàn)給他的就只有當(dāng)前 App 的內(nèi)容,這種情況下用戶本能地會(huì)去選擇使用 App 內(nèi)的搜索。
不過(guò)做站內(nèi)搜索也有一些需要說(shuō)明的問(wèn)題:
(1)開(kāi)發(fā)成本相對(duì)較高
如果一旦要求高一點(diǎn),希望做一個(gè)體驗(yàn)還過(guò)得去的站內(nèi)搜索,涉及的東西就很多了,大體上可以分為:
每一部分都直接影響到最終的用戶體驗(yàn)。
當(dāng)然如果隨便一點(diǎn),或者內(nèi)容復(fù)雜度低,MVP 試行等等,都可以考慮先直接用 SQL 去模糊查詢。
- 搜索詞處理(糾錯(cuò)、改寫(xiě)、分詞等)
- 關(guān)鍵詞和數(shù)據(jù)的匹配(標(biāo)題匹配、內(nèi)容匹配、生產(chǎn)者匹配以及權(quán)重)
- 排序(時(shí)間、相關(guān)性、數(shù)據(jù)類型)
(2)投入產(chǎn)出比相對(duì)較低
前面說(shuō)到了開(kāi)發(fā)成本較高,那么在開(kāi)發(fā)完成之后,這個(gè)功能的使用率會(huì)是多少呢?搜索是一個(gè)主動(dòng)行為,在沒(méi)有額外機(jī)制和獎(jiǎng)勵(lì)的情況下,用戶是被動(dòng)的。同樣的,除非是知網(wǎng)、淘寶、知乎這種平臺(tái),在絕大部分平臺(tái)上,這項(xiàng)功能的使用頻次必定不會(huì)太高。
這也屬于那種重要但不緊急的任務(wù),站內(nèi)搜索對(duì)于一個(gè)網(wǎng)站的必要性就有點(diǎn)像是,手機(jī)上發(fā)短信的功能,用戶可以不用,但是你不能沒(méi)有。
(3)內(nèi)容量問(wèn)題
搜索不到內(nèi)容是一個(gè)搜索功能使用的時(shí)候最尷尬的時(shí)候,盡管可以通過(guò)一些手段,比如說(shuō)相似內(nèi)容推薦、熱門(mén)搜索推薦等等;但是不可否認(rèn)的是,在正常情況下(用戶搜索正常詞句,且與平臺(tái)相關(guān))如果搜索不到內(nèi)容,盡管做了這些處理,但依舊是沒(méi)有徹底解決根本的用戶效率問(wèn)題。
所以,在做這個(gè)功能的時(shí)候,平臺(tái)的內(nèi)容量一定是必須要考慮的問(wèn)題。
二、搜索:詞、匹配、排序
在講具體內(nèi)容之前,需要給大家先介紹一下搜索引擎搜索方式—— Site。
這應(yīng)該也算是大家都會(huì)經(jīng)常用到的搜索技巧了,這種搜索方式其實(shí)完全可以理解成各大搜索引擎給網(wǎng)站提供的免費(fèi)站內(nèi)搜索。
那就有個(gè)問(wèn)題出現(xiàn)了,為什么不去使用搜索引擎的 Site 方式作為網(wǎng)站的站內(nèi)搜索呢?這樣的網(wǎng)站其實(shí)是有一些的,比如說(shuō) V2EX。
用搜索引擎的站內(nèi)搜索好處有很多,比如說(shuō)開(kāi)發(fā)成本極低,用戶使用成本低,搜索精準(zhǔn)度相對(duì)較高等等
但是壞處其實(shí)也有一些:
- 首先是排序,搜索引擎的排序算法是你無(wú)法干預(yù)的,這就導(dǎo)致無(wú)法提供業(yè)務(wù)上所需要的排序;比如說(shuō)商品網(wǎng)站,搜索電飯煲,搜索引擎可能更偏向相關(guān)度、時(shí)間等等,但是其實(shí)在業(yè)務(wù)層面,銷量、好評(píng)率等等也是非常重要的考量因素,而這些數(shù)據(jù)不說(shuō)搜索引擎能不能納入權(quán)重,就算能,那這些數(shù)據(jù)是否能夠提供給第三方也是個(gè)問(wèn)題
- 然后是網(wǎng)站類型不同導(dǎo)致的數(shù)據(jù)類型問(wèn)題,資訊、問(wèn)答、社區(qū)、商品等等類型的平臺(tái),所提供可供搜索的內(nèi)容是完全不一樣的,而現(xiàn)在搜索引擎很大程度并不能完全滿足絕大部分的內(nèi)容類型。
- 最后就是更新,目前想要讓搜索引擎快速收錄網(wǎng)站鏈接的方式中最主流的是站點(diǎn)地圖,但是站點(diǎn)地圖的最大問(wèn)題就是更新不及時(shí),也很難預(yù)測(cè)到什么時(shí)候會(huì)編入索引,什么時(shí)候會(huì)收錄。
1. 搜索詞處理
搜索詞解析方式目前比較普遍一點(diǎn)的就是分詞和糾錯(cuò)。
前者目前來(lái)講,稍微好做一點(diǎn)。GitHub 上也要大量開(kāi)源的分詞框架庫(kù)可以使用,同時(shí)也支持自定義。這一部分建議之后要好好收集一下用戶的搜索詞,看看分詞出來(lái)的詞語(yǔ)是否切合用戶當(dāng)時(shí)希望表達(dá)的意思。同時(shí)也要根據(jù)業(yè)務(wù)調(diào)整,比如說(shuō)在電商平臺(tái)搜索 ”智能電視“,不能結(jié)果出來(lái)只有 ”智能“ 和 ”電視“,”智能電視“ 這個(gè)詞本身就應(yīng)該也作為一個(gè)關(guān)鍵詞存在。
后者難度稍微高一點(diǎn),因?yàn)楝F(xiàn)在的糾錯(cuò)不在于說(shuō)沒(méi)有方法去做,而是在于說(shuō)假如不契合業(yè)務(wù),可能會(huì)導(dǎo)致一些奇怪的結(jié)果。
尤其是錯(cuò)誤糾正方面(糾錯(cuò)的流程大體為 錯(cuò)誤字(詞)識(shí)別 → 錯(cuò)誤字(詞)糾正)。不過(guò)錯(cuò)字(詞)有時(shí)候確實(shí)會(huì)影響到分詞效果,進(jìn)一步影響到搜索的結(jié)果,所以這個(gè)還是有必要去做的,不過(guò)可以考慮用戶量再大一些,數(shù)據(jù)更加豐富的時(shí)候去做會(huì)更好。
以及后面可以涉及到更加深入的用戶搜索詞預(yù)測(cè),這個(gè)就更加復(fù)雜了,筆者也不了解,就不多說(shuō)了。
2. 匹配
互聯(lián)網(wǎng)上的能看到的內(nèi)容都可以叫做數(shù)據(jù),而絕大部分?jǐn)?shù)據(jù)都會(huì)存在于數(shù)據(jù)庫(kù)的一張一張表之中。匹配的根本就是將搜索詞拿來(lái)去這些表里查找,找到合適的數(shù)據(jù)。
但是這樣做效率太低了,為了提高效率和精準(zhǔn)度,自然要規(guī)定一下搜索的范圍,所以通常我們會(huì)對(duì)搜索進(jìn)行分類處理,比如說(shuō)這個(gè)關(guān)鍵詞是搜索商品的,這個(gè)關(guān)鍵詞是搜索文章的。
當(dāng)然,讓用戶去選要搜什么分類已經(jīng)是古早互聯(lián)網(wǎng)時(shí)期的做法了,現(xiàn)在更加常見(jiàn)的做法是展示出所有的內(nèi)容,但是分塊展現(xiàn),比如說(shuō)知乎,綜合下就帶有話題、專欄、問(wèn)題三種形式。
上面說(shuō)的是匹配的范圍,匹配還有另外一個(gè)重點(diǎn)就是匹配的覆蓋面:
同一個(gè)類型的數(shù)據(jù),比如說(shuō)一篇文章,可能包括標(biāo)題、作者、時(shí)間、內(nèi)容、評(píng)論等等數(shù)據(jù)。那么你的匹配是要覆蓋到哪些數(shù)據(jù)?標(biāo)題?作者?時(shí)間?或者內(nèi)容?
如果上面很多都想做匹配的話,那就叫多字段匹配或者多字段搜索,最簡(jiǎn)單的方式就是把多個(gè)字段組合起來(lái)建索引。
另外,如果說(shuō)你還希望搜索匹配這篇文章的內(nèi)容,而文章的內(nèi)容通過(guò)都是很長(zhǎng)的富文本或者文本形式,那么可能你還需要使用全文匹配來(lái)幫助你。
以上兩種其實(shí)只是目前比較常見(jiàn)的搜索匹配方式,技術(shù)領(lǐng)域中有很多方法來(lái)解決這些問(wèn)題,但是還是建議產(chǎn)品有時(shí)間可以多了解一下,可以更加理解技術(shù)的局限、邊界和成本。
3. 排序
排序一般會(huì)根據(jù)相關(guān)度、內(nèi)容用戶相關(guān)數(shù)據(jù)、時(shí)間等等情況排序,比較依賴于業(yè)務(wù)屬性。比如說(shuō)新聞網(wǎng)站,時(shí)間維度的權(quán)重可能就會(huì)比較重;電商網(wǎng)站可能就比較看重銷量、知名度、利潤(rùn)、優(yōu)惠(比如說(shuō)特定打折時(shí)期,將品類中讓利較多的商品展現(xiàn)出來(lái)吸引用戶);內(nèi)容網(wǎng)站可能還會(huì)涉及到用戶是否讀過(guò),解決用戶想憑借幾個(gè)詞找到之前度過(guò)的文章這個(gè)場(chǎng)景。
所以這部分很難說(shuō)有什么標(biāo)準(zhǔn)的解法,視業(yè)務(wù)和用戶群體而定。
三、用戶視角
這部分是相對(duì)比較偏設(shè)計(jì)的,也是整個(gè)搜索的最后一部分,我大概整理了一些點(diǎn)可供參考:
1. 搜索框位置
現(xiàn)在的網(wǎng)站和 App 中,搜索框位置通常處于上方,這個(gè)位置屬于一個(gè)不會(huì)阻擋正常內(nèi)容消費(fèi),也能夠很方便使用的位置。
我個(gè)人出于對(duì)用戶習(xí)慣的考慮,比較建議如果沒(méi)有特殊情況或者產(chǎn)品結(jié)構(gòu)傾向的話,放在頂部即可,可以不是搜索框的形式,但是一定要有足夠清晰的標(biāo)識(shí),降低用戶找功能的成本。
2. 引導(dǎo)文
引導(dǎo)文就是指搜索框內(nèi),未輸入時(shí)的提示;古早時(shí)期,比較常見(jiàn) ”請(qǐng)輸入搜索關(guān)鍵詞“ 這種說(shuō)法,但其實(shí)這個(gè)位置還是比較重要的,既可以提前展示重要信息又可以作為推廣的渠道。所以更加建議和運(yùn)營(yíng)方商量去決定如何處理。
3. 熱門(mén)搜索詞
點(diǎn)擊搜索的時(shí)候,在部分 App 和網(wǎng)站,會(huì)展示出熱門(mén)搜索詞。這些搜索詞和引導(dǎo)文一樣可以起到引導(dǎo)用戶使用的作用,同時(shí)也在一定程度上降低了用戶的使用成本。
不過(guò)這部分做起來(lái)不算簡(jiǎn)單(主要是運(yùn)營(yíng)規(guī)則和邏輯),同時(shí)效果在前期通常不太明顯,建議初期不做。
4. 搜索歷史
這在大部分網(wǎng)站或 App 中都屬于一個(gè)補(bǔ)足用戶體驗(yàn)的功能,但并不是剛需。所以我個(gè)人認(rèn)為和熱搜一起屬于初期無(wú)需做的功能。
5. 結(jié)果相對(duì)較少或者沒(méi)有時(shí)的處理
結(jié)果少或者沒(méi)有,有時(shí)候其實(shí)不是數(shù)據(jù)的問(wèn)題,而是在前面的搜索詞處理上出了問(wèn)題,比如說(shuō)沒(méi)有糾錯(cuò)等等。
但是畢竟已經(jīng)展示給用戶了,還是得思考一下如何展示。
展示相關(guān)度比較高的內(nèi)容應(yīng)該更加推薦的做法,因?yàn)檫@樣會(huì)相對(duì)更加符合用戶的預(yù)期。
當(dāng)然,重點(diǎn)就是相關(guān)度了,相關(guān)度的理解也比較取決于業(yè)務(wù)——文章的分類、商品的品類和可能有的具體 SKU 屬性、求職產(chǎn)品的職業(yè)或城市或行業(yè)等等。
有了對(duì)相關(guān)度的解讀,之后就是具體的文案提示和結(jié)果展示了。
四、總結(jié)
其實(shí)上面有很多我自己說(shuō)的,在現(xiàn)實(shí)中的項(xiàng)目也沒(méi)有做到,但是由于其中的搜集、學(xué)習(xí),因此對(duì)這個(gè)功能有了更加全面的了解,之后的迭代才會(huì)更有把握做好,希望這篇文章對(duì)大家有點(diǎn)用吧。
作者:許珂誠(chéng),微信公眾號(hào):XKC的123
本文由 @許珂誠(chéng) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
- 目前還沒(méi)評(píng)論,等你發(fā)揮!