天天看點

電商/O2O行業搜尋排序表達式最佳實踐Query在開放搜尋的執行流程開放搜尋排序表達式配置

Query在開放搜尋的執行流程

電商/O2O行業搜尋排序表達式最佳實踐Query在開放搜尋的執行流程開放搜尋排序表達式配置

開放搜尋排序表達式配置

電商/O2O行業搜尋排序表達式最佳實踐Query在開放搜尋的執行流程開放搜尋排序表達式配置

場景1:關鍵詞重複堆砌導緻排序分數較高問題

案例:電商商家作弊問題:關鍵詞重複堆砌導緻排序分數較高,排序結果靠前

開放搜尋解決方案:業務排序函數field_term_match_count,擷取文檔中某個字段與查詢詞比對的詞組個數,根據不同個數做不同的處理;

電商/O2O行業搜尋排序表達式最佳實踐Query在開放搜尋的執行流程開放搜尋排序表達式配置

場景2:衡量商品時效性

開放搜尋解決方案: 可以用在粗排和精排的timeliness函數,計算時效分,用于衡量文檔/商品的新舊程度, 機關為秒,傳回值:float,值域為[0,1],值越大表示時效性越好;

場景3:不同次元歸為同一區間(綜合分值)去排序

案例:一篇doc的好壞需要從不同的次元衡量。而各個次元的分數值域可能不同,網頁點選數可能是成百上千萬,網頁的文本相關性分數在[0, 1]之間,它們之間沒有可比性,為了在公式中使用這些元素,需要将不同的分數歸一化至同一個值域區間,而normalize為這種歸一化提供了一種簡便的方法

開放搜尋解決方案:歸一化函數normalize根據不同的算分将數值歸一化至[0, 1];

場景4: 對符合使用者标簽喜好的商品權重

案例: 年輕女使用者搜尋"鞋子",對應商品排序需求滿足使用者特性标簽"年輕""女性";對符合使用者标簽喜好的商品權重,進而實作個性化搜尋排序;

開放搜尋解決方案: 商品可以具有多個屬性标簽,例如1表示年輕人(年齡)、2表示中年人(年齡)、3表示小清新(風格)、4表示時尚(風格)、5表示女性(性别)、6表示男性(性别)等等, 應用标簽比對tag_match 函數,實作對比對到的商品做排序權重

場景5:某時間段的指定搜尋需求

例如:

  • 查詢下午14點到15:30點營業的店鋪
  • 查詢下午14點到15:30之間,庫存>10的店鋪有哪些
  • 查詢明天晚上能服務3-5個人的店鋪

開放搜尋解決方案: 運用功能函數bit_struct将INT_ARRAY字段值進行自定義分組并允許對分組值進行指定operation計算。

場景6:基于位置、距離搜尋

案例:查找距離使用者10公裡内的【外婆家】餐廳,并按照距離由近及遠排序

開放搜尋解決方案:運用distance函數, 擷取兩個點之間的球面距離,一般用于LBS的距離計算。

以上就是阿裡雲開放搜尋電商/O2O行業"排序表達式及特征函數”的應用案例,如果您對搜尋與推薦相關技術感興趣,歡迎加入釘釘群内交流~

電商/O2O行業搜尋排序表達式最佳實踐Query在開放搜尋的執行流程開放搜尋排序表達式配置

【開放搜尋】新使用者活動:阿裡雲實名認證使用者享1個月免費試用

https://free.aliyun.com/product/opensearch-free-trial

繼續閱讀