基於ES的商品搜尋優化方案

2021-10-24 05:45:32 字數 1077 閱讀 6031

新增底紋熱搜提示

動態的切換搜尋底紋,搜尋底紋為**商品銷售排名topn,通過快取獲取重新整理,兩個小時進行重新整理。

聯動詞建立商品名稱,品牌,類目 ,型別,屬性 等實體的索引,通過查詢推薦實現搜尋聯動,索引進行動態更新。

1.文字歸一

(1).去除停用詞,如:使用者不小心輸入的特殊符號、標點符號

(2).大小寫統一,如:nike/nike,iphone xr/iphone xr

後台開發工具,對輸入的查詢請求進行過濾,處理,完成文字歸一

(3).不同語言轉換,如:iphone/蘋果手機,阿迪達斯/adidas

es配置拼音, es配置同義詞 (

es配置英文支援 (

2.文字糾錯

如:iphoe => iphone ,美過 =》美國

基於中英文的拼寫糾錯,通過suggest查詢實現。suggest參考官網使用,獲取糾錯後的結果,如果沒有結果,輸出原句。

(3.分詞

如:男士運動衛衣連帽李寧 => 男士 運動 衛衣 連帽 李寧

對處理後的查詢請求進行最大分詞查詢,獲取分詞結果。呼叫 get請求,http://ip:prot/index/_analyze 進行分詞查詢。

如果返回分詞數量超過10個,不進行分詞處理。

返回分詞數量少於10個,進行意圖識別,中心詞識別

4.意圖識別/中心詞識別

1)建立商品型別,商品前台類目的索引

2)對分詞陣列逐個進行查詢,返回命中條數,按照命中記錄數量,陣列進行排序。

分析命中記錄,如果在某乙個值上出現較大差異,去掉後面差異較大的集合,保留集合前段資料,作為中心詞。

如果沒有較大差異,全部保留

5.類目**/型別**

男士運動衛衣連帽李寧 => 運動服

聯想小新air14電腦 => 電腦/辦公

原則:根據分詞分組,分類目統計查詢的結果集。

1.如果分類有交集,取交集分類 。如果交集分類下面無商品,取合集類目,其中分詞命中最多的排在前面

2.如果分類無交集,取合集分類,其中分詞命中最多的排在前面

3.如果無匹配分類,匹配同義詞庫

6.篩選過濾

7.綜合排序

優化商品型別的方案

一 優化商品型別的方案選擇 1 後台管理 redis快取 2 主頁 頁面靜態化 二 為什麼要對商品型別進行優化 面試 三 實現 1 搭建公共的服務模組 2 測試 eureka中有服務 四 redis公共服務 1 新增redis的依賴 2 匯入redis的工具類 3 完成redis的訪問值的介面 re...

es集群快速恢復(優化方案)

1 停止資料寫入 2 關閉allocate,禁止shard做allocate curl xput localhost 9200 cluster settings d 3 執行synced操作 curl xpost localhost 9200 flush synced?pretty 4 重啟es服務...

商品搜尋的實現

商品的搜尋根據所給我們介面來實現 key page 1查詢的bean包 public class soubean public void setmsg string msg public string getcode public void setcode string code public st...