公司背景
蟲蟲音樂是一家版權樂譜分發平臺,致力於專業打造音樂教育和樂譜版權登記發行,擁有強大的年輕用戶群體,為不同的音樂愛好者提供學習和出售作品的平臺,提供了上傳樂譜、版權登記、發行出售等服務。
搜索業務背景
客戶痛點:
- 當前搜索服務依賴於傳統數據庫,存在模糊查詢不夠靈活,性能一般問題,導致搜索召回效果不好,搜索成功率<70%, 用戶體驗欠佳;
- 搜索效果的優化,需要專業的算法工程師,自行實現開發成本較高;
- 重點面向專業的音樂人士,搜索流量佔站內流量較高比重,打造高質量的搜索效果對業務至關重要;
客戶需求:
- 樂譜搜索的形式較為多樣,用戶可以通過"曲譜名稱","歌手名稱",“作者”,“調性”,"難易度"等多維度從樂譜庫中進行復合搜索,例如: 後來 完整指法 C調 劉若英 初學者優先;
- 提供query改寫功能,如拼寫糾錯、同義詞等;
- 可對召回的結果更細粒度的打分,並以文檔得分對召回結果排序展示;
- 提高搜索召回點擊率,提升業務轉化能力;
開放搜索解決方案:
搜索服務架構圖:
搜索能力解析
1. 查詢語義理解:
• 開放搜索具備通用行業分詞能力,預設好的query改寫功能配置簡單易上手,無需開發,使用方便,可快速響應搜索優化需求;
• 自定義詞權重干預詞典,滿足同一字段多個分詞參與召回的權重高低不同的業務需求,提高用戶搜索成功率;
例如:同一query中曲譜的名字:“後來”,曲譜的調性:“C調”,曲譜的作者:“劉若英”,可以自定義干預分詞的term的權重;
2. 排序優化:
無需依賴開發工程師,也可以使用表達式實時調整排序結果;
• 基礎排序(粗排):即是海選,從檢索結果中快速找到質量高的文檔,取出TOP N個結果再按照精排進行精細算分,基礎排序對性能影響比較大;
• 業務排序(精排):對最終排序效果影響比較大,對粗排的結果做更精細篩選,支持任意複雜的表達式和語法;
• 相關函數應用
static_bm25:靜態文本相關性,用於衡量query與文檔的匹配度
normalize :歸一化函數,根據不同的算分將數值歸一化至[0, 1]
first_phase_score : 獲取粗排表達式最終計算分值
3. 搜索引導功能:
對業務目標轉化起到很好的鋪墊作用;
• 下拉提示:搜索中引導功能,在用戶輸入查詢詞的過程中,基於用戶文檔內容的query智能抽取,智能推薦候選query,提高用戶輸入效率,幫助用戶儘快找到想要的內容。
• 熱詞:搜索前引導功能,熱詞處於搜索引擎整個工作流程的最上游,越上游的環節,對於達成業務目標有著越重要的決定作用,結合運營策略對提升業務目標可以有比較大的發揮空間.
熱詞模型配置流程:內置成熟高級算法功能,無需自行編寫定製;
客戶心聲
使用開放搜索後,不僅滿足了業務的搜索需求,還提升了用戶體驗,從而實現業務目標的快速轉化;
- 相比之前,搜索成功率從70%提高到了97%,精準命中用戶需求;
- CTR增長超過150%;
- 從數據庫遷移到OpenSearch後,搜索速度得到了1倍以上的提升;
- 大大提升了數據庫的性能,減輕了數據庫壓力;
- 團隊無需再配置工程架構類開發和系統運維,降低了人力成本,省心省力;