雲搜尋服務在APP搜尋場景的應用
搜尋無處不在,尤其是在移動互聯的今天。無論是社交,電商,還是影片等APP中,搜尋都已經在其中扮演了重要的角色。作為資訊的入口,搜尋能幫使用者從海量資訊中找到想要的資訊。在APP搜尋的典型場景如下:
● 查詢使用者: 根據輸入匹配使用者暱稱,依據使用者屬性對搜尋結果進行排序;
● 搜尋話題: 根據使用者輸入匹配話題,依據話題屬性對搜尋結果排序;
● 搜尋帖子: 根據使用者輸入匹配帖子內容,依據內容屬性對搜尋結果排序;
● 按照地理位置搜尋或推薦: 根據使用者輸入地址資訊,轉換為經緯度,在一定距離範圍內匹配話題、內容中的地址資訊,依據它們的屬性對搜尋結果排序。
事實上,儘管搜尋的概念深入人心,但做好一個體驗絕佳的搜尋服務並不是一件容易的事。在效能和搜尋精度等細節上,都存在不可忽略的難點,而這些往往又是提升搜尋體驗的關鍵。客戶難點如下:
● 基於資料庫的效能問題:
• 資料一般都是分庫分表儲存在MySql資料庫中,搜尋時存在關聯操作,查詢效率很低;
• 資料庫的查詢效能很難做到毫秒級,使用者搜尋體驗十分不好。
● 基於資料庫的匹配問題:
•資料庫中,無法做到綜合考慮查詢條件的屬性後排序;
• 資料庫中無法過濾一些特殊字元,搜尋過程中如果使用者暱稱中有特殊字元,就會不準確。
● 基於開源搜尋引擎Elasticsearch的問題:
• 預設的BM25相關性打分排序無法確保搜尋結果的合理性;
• 簡單的分詞器對特殊字元處理不當。
舉個例子:搜尋使用者“大海”時為什麼大V使用者“kkw眼中de星辰大海”排在了“尋找那片大海”後面?
對於想要搭建APP搜尋的客戶來講,從技術層面出發,實現方案如下。 是基於Elasticsearch,能夠在毫秒級完成TB級檢索任務並返回結果,能夠很好解決傳統資料庫的效能問題。
▽ 整體實現方案
在雲搜尋服務中,我們針對客戶的搜尋痛點,做了如下最佳化,幫助客戶增強使用者體驗,提升效率,快速實現業務增長。
中搜尋方案最佳化:
● 支援 自定義詞庫 ,使用者在詞庫中新增熱搜詞、關鍵詞、網路常用詞等來提高搜尋輸入的匹配精度;
● 支援 自定義權重 ,使用者可以根據業務定義不同查詢條件的權重,來決定最終結果的排序;
● 支援 越搜越準 (規劃),雲搜尋服務根據對搜尋結果的點選行為,自動更新屬性權重,達到最終結果排序更精準的效果。
在雲搜尋服務中,我們額外提供關於分詞和詞庫的解決方案,幫助客戶解決搜尋精準度等問題。
雲搜尋服務分詞、詞庫方案:
● 因為使用者暱稱和內容、話題表達的含義不同,針對不同欄位可以採取不同的分詞器,以便於提升匹配精準度。具體作用見下表所示:
● 採取使用簡繁體分詞器,還可以支援所有可搜尋欄位都能處理繁體字;
● 對於熱搜詞、關鍵詞、網路常用詞,經常隨時間變化,因此,我們採取使用者自定義詞庫的方式更新,來提高搜尋精準度。
總體而言, ()在網際網路APP的搜尋場景有如下的優勢:
● 一鍵化操作,無憂運維
所有主要操作都是一鍵可達,專業團隊貼身運維,快速實現搭建搜尋功能模組;
● 靈活彈性
按需申請,線上擴容,輕鬆滿足業務增長需求;
● 靈活詞庫管理
支援自定義詞庫與拼音分詞,支援詞庫熱更新,無需重啟,配置即生效,對終端使用者無影響;
● 靈活分詞、靈活權重
不同欄位使用不同的分詞方式,提高搜尋準確率。不同條件設定不同權重,提高搜尋精準度;
● 高效實時檢索
毫秒級檢索結果返回,新資料入庫後,即刻能被檢索到,提供良好的使用者體驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548113/viewspace-2213039/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播開發app,實時搜尋、搜尋引擎框APP
- 搜尋EE場景排序鏈路升級排序
- SAP Fiori應用的搜尋問題
- 最佳路徑搜尋(二):啟發式搜尋(代價一致搜尋(Dijkstra search),貪心搜尋,A*搜尋)
- 海量資料搜尋---搜尋引擎
- 搜尋
- 搜尋引擎-03-搜尋引擎原理
- Elasticsearch(ES)的高階搜尋(DSL搜尋)(上篇)Elasticsearch
- Elasticsearch(ES)的高階搜尋(DSL搜尋)(下篇)Elasticsearch
- 直播app原始碼,預設顯示搜尋框 保留搜尋條件APP原始碼
- 大資料HBase在阿里搜尋中的應用實踐大資料阿里
- 深度學習在視覺搜尋和匹配中的應用深度學習視覺
- 在 AppImage、Flathub 和 Snapcraft 平臺上搜尋 Linux 應用APPRaftLinux
- 點選搜尋框清空搜尋提示文字
- 搜尋引擎es-分詞與搜尋分詞
- 搜尋的未來是精品搜尋 | a16z
- Nebula 基於 ElasticSearch 的全文搜尋引擎的文字搜尋Elasticsearch
- 直播系統程式碼,常用搜尋中搜尋歷史,搜尋推薦功能
- 搜尋技巧
- vim搜尋
- 搜尋策略
- 搜尋功能
- Searching with Deep Learning 深度學習的搜尋應用深度學習
- Sharepoint 2013搜尋服務配置總結(實戰)
- 微信服務搜尋怎麼開通?微信服務搜尋開通方法教程
- 深度學習在攜程搜尋詞義解析中的應用深度學習
- 百度搜尋:藍易雲【Dockerfile 部署 Java 服務教程。】DockerJava
- 搜尋趨勢:微軟必應新版整合AI和實時搜尋微軟AI
- 啟發式搜尋的方式(深度優先,廣度優先)和 搜尋方法(Dijkstra‘s演算法,代價一致搜尋,貪心搜尋 ,A星搜尋)演算法
- 20240713總結(搜尋專題,但是不想搜尋)
- see-world雲搜|輕鬆使用谷歌搜尋谷歌
- Mac上神奇的內建搜尋引擎——Spotlight(聚焦搜尋)Mac
- 基於 Kafka 的實時數倉在搜尋的實踐應用Kafka
- 搜尋線上服務的儲存計算分離
- Win10系統中搜尋框搜尋不到本地應用和檔案如何解決Win10
- 谷歌搜尋用上BERT,10%搜尋結果將改善谷歌
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- MacOS的Safari搜尋欄無法搜尋怎麼解決?Mac