編者按:搜索體系由哪些元素組成?有哪些常見的功能模塊?如何建立和優化搜索體系?這篇超全面的總結讓你系統認識搜索體系。
看完本文你會學到
- 搜索體系的組成。
- 搜索功能常見的模塊。
- 優化的意義及思考。
寫在前面的話
一般來說,搜索功能按順序分三個階段:點擊搜索——跳轉搜索頁——搜索結果頁。
接下來,我們按照流程順序一個個來說吧。
搜索前
我們在使用搜索功能前,首先要找到他的入口在哪,所以設計一個明確,高效的入口是「登月第一步」。常見的移動端搜索入口會放在頂部或底部,有些資訊、博客、工具類app也會出現懸浮按鈕式的搜索入口。
搜索中
點擊跳轉到搜索頁后,就可以進行輸入了。搜索系統現分為「文本」、「圖片(掃碼)」、「音頻(識曲)」三種載體分別應對不用場景下的搜索需求。頁面中會出現哪些模塊呢?
1. 熱詞搜索
簡稱熱搜,玩過微博的小伙伴們應該對此非常了解,許許多多的流量「爆款」就產生在這里,這小小的方寸之間幾乎是大天朝輿論的風向標。
2. 關鍵詞聯想
當我們輸入某個詞或詞組時,搜索系統往往會聯想出詞串組,幫助用戶節省輸入成本。當然,有時候出現的可能是相關內容的熱搜或是廣告投放。
3. 搜索歷史
這個非常好理解,就是用戶曾經搜索過的內容。通常來說10條的展示量基本可以滿足用戶的使用需求,京東最多可以展示20條的搜索歷史。不過也有少的,微博只有區區兩條的展示量,估計是不想與下面熱搜入口的主要視覺區域對沖,稀釋流量吧。
4. 運營區
這個模塊的名稱比較難定義,暫時叫運營區吧。此類模塊經常出現在社交,泛娛樂類型的app中,搜索入口流量大,用戶操作密集,建立運營模塊/個性化定制模塊既能生產流量,又能導流。
5. 個性化內容定制
簡單來說就是「猜你喜歡」,根據用戶平時產生的行為進行個性化的推薦?!盖饲妗咕褪钦f這樣的功能。
6. 分類
通常會出現內容載體/功能形式劃分比較清晰,統一的app中,類似于資訊類,閱讀類。有些app的分類是獨立的模塊或是一級導航,有些則會并入搜索中。
搜索結果
看到這里,我們來到了搜索過程的最后一步。在這個頁面上,我們通??梢钥吹酱罅康膬热莅凑仗囟ǖ倪壿嬳樞蚺帕校械捻樞蛴脩艨梢栽诤Y選器中設置,比如電商app中的,按價格高低排序,銷量多少排序等等,有的則是根據業務原因排序,用戶不能改變,總體來說每個app都有自己特定的邏輯順序。在這個階段的搜索欄,通常的交互方式為上滑隱藏。當搜索關鍵詞與搜索結果高度吻合的時候,會出現命定詞高顯模塊,來看下面的圖例吧。
當搜索結果出現異常的時候?會怎么樣呢?(不考慮404)
- 搜索結果零匹配,會出現一些相關詞組選項,這些詞組通常是你給出的搜索內容的分詞。
- 當你打錯字的時候,結果頁優先顯示正確詞組的匹配內容。但有個前提是,其他字或詞要與相關內容匹配度非常高,這樣才能被計算出來。
優化思路
很多情況下用戶使用搜索功能的目的并不明確
隨著互聯網的高速發展,手機變得越來越「好玩」,功能很多時候就不再是簡單的功能本身了。長期刷微博的小伙伴們會發現,「熱搜」模塊內容的變更簡直代表了時代的變化。從鹿晗關曉彤公開戀情,到pg one李小璐夜宿緋聞,到space x發射成功,熱搜就像是時代的風向標,每個人都害怕錯過熱點,仿佛會被這個世界淘汰。在這種現象的背后,究竟是用戶「精神消費」過剩?還是搜索機制的升級?我們習慣于把某個功能固定于在某個意義層面上而難以跳脫,設計搜索時,我們假定用戶為「進行帶有強烈目的性搜索行為」。但很多情況下,懵懵的,不曉得干什么的用戶數量也非常龐大。熱搜是一種非常棒的分流手段,我們也可以遞進式拓展相關的模塊。比如,搜索欄下可以放置「經常訪問博主/up/頭條號/專欄...」入口。往大膽了想,在電商app中,針對于經常購買,瀏覽固定商家的用戶,則可以在搜索過程中變更某個固定模塊為「推送固定商家」、「類似在售商品」的信息,根據用戶的行為特點,讓「內容定制化」上升為「模塊定制化」,打破app模塊分配固定、難調配的局面。
搜索將會越來越智能,算法首當其沖
首先介紹一下搜索的物理邏輯:用戶輸入信息,系統根據輸入的信息匹配相對應的內容,再按照特有的rank邏輯進行排序展示。這個表述只是簡單的介紹,如果想要知道具體的原理,還需要深入到搜索詞庫的建立。每個搜索系統都有一個詞庫和一個索引庫,他們之間是可以進行快速的關聯匹配的,詞庫就好比一本書,索引庫就好比目錄,當你心里有具體想翻閱的某個內容時,就可以根據目錄找到頁碼,匹配到相關內容。實際上「查書」這樣的動作就已經構成一個簡單的搜索過程了。那么,機器檢索復雜在哪里?這邊要介紹一個新的概念:分詞。
給大家看個幽默圖片輕松一下,這位老母親也是為自己的崽崽操碎了心。在圖片中,用戶輸入檢索內容時,你會發現,這個文本結構非常的口語化,「女兒高高胖胖穿什么好看」這更像是一個問句,很明顯用戶對于內容沒有明確的預期。如果用這樣口語化的描述性文本在淘寶中進行搜索,會出現什么樣的結果呢?結果將會是沒有匹配。
既然這樣搜不到,那我們換個思路來吧,「女兒高高胖胖穿什么好看」,是不是可以換成「高個的女孩穿顯瘦服裝」這樣的文本進行檢索呢?我們來試試看。
咦,還是沒有,那我們干脆再簡化字段擴大搜索范圍吧,換成「高個女顯瘦」來搜索呢?
結果匹配到了很多漂亮時尚的衣服,搜索完成。
回頭再梳理一遍過程,我們從「女兒高高胖胖穿什么好看」這樣的非結構化文本到「高個的女孩穿顯瘦服裝」再到「高個女顯瘦」的簡化過程,就是一次人工分詞操作。如果在足夠智能的搜索引擎上,這些都可以自動完成。分詞,簡單表述為:拆分濾用字符串。例如,三國的軍事家司馬懿??梢圆鸱譃椤溉龂?、「的」、「軍事家」、「司馬懿」這些詞組。那在分詞系統中,「的」、「是」、「在」是常見的停用詞,通常會被直接pass掉,詞組進一步拆分為「三國」、「軍事家」、「司馬懿」。經過這樣的處理,非結構化的內容就會轉化成結構化的,可匹配度高的詞庫,可以輕易的匹配到想了解的內容。說了 這么多搜索原理,那優化思路在哪呢?這里說兩點自己的看法。
詞條歸一
這是針對詞庫的優化,說到這個,得介紹一下搜索系統匹配關鍵詞的規則「TF-IDF算法」。假如用戶在百度上搜索「蘋果」,那蘋果有很多相關的信息文檔,怎么才能準確匹配呢?系統需要提取這些信息文檔的關鍵詞,感興趣的小伙伴可以百度公式。系統計算出文檔里每個詞的TF-IDF值后,然后按降序排列,取排在最前面的幾個詞與搜索詞匹配就可以得到準確的匹配結果,不會出現我搜的是蘋果,出來的是青蘋果樂園。進一步的還有Lucene的打分系統,讓好的,召回率高的內容優先展示。說了這么多,詞條歸一到底是什么?其實就是將同一詞義的詞組歸為同一個詞,比如蘋果的別稱有「薔薇科蘋果屬果實」、「柰」、「滔婆」、「apple」、「りんごちゃん」等等,這些詞組說的都是同一個意思,所以詞條歸一就是將這些詞組歸為同一類別,擴大匹配范圍,提高關鍵詞召回率。
更符合業務目標的rank邏輯
我們在搜索完成后,會看到搜索結果會按照特定的順序排序,再進行展示。有些產品中,展示的順序是否能夠切合業務目標,會直接影響到產品的收益。所以,制定展示邏輯的算法要高度理解業務內容,實時回歸業務進行規則的更新。
歡迎關注作者的微信公眾號:「
」「搜索設計體驗細節」
================明星欄目推薦================
優優教程網: UiiiUiii.com 是優設旗下優質中文教程網站,分享了大量PS、AE、AI、C4D等中文教程,為零基礎設計愛好者也準備了貼心的知識樹專欄。開啟免費自學新篇章,按照我們的專欄一步步學習,一定可以迅速上手并制作出酷炫的視覺效果。
設計導航:國內人氣最高的設計網址導航,設計師必備: http://hao.uisdc.com
復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。
發評論!每天贏獎品
點擊 登錄 后,在評論區留言,系統會隨機派送獎品
2012年成立至今,是國內備受歡迎的設計師平臺,提供獎品贊助 聯系我們
標志設計標準教程
已累計誕生 729 位幸運星
發表評論 為下方 1 條評論點贊,解鎖好運彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評 ↓