es默認使用搜索詞可進行文檔匹配,並根據TF-IDF算法進行打分排序, 但想要自定義ES排序規則,是需要做score的自定義計算的,而TF-IDF計算得分並不是十分重要, 這里做queryBool時只做文檔召回功能,我們使用function_score來進行自定義打分,boost_mode可設置為replace,這樣我們自定義的函數執行策略就會取代掉默認TF-IDF分值。
自定義的分值規則如下:
1 商家在精准通平台投入系數(也就是通過花錢投廣告而算出的權重值,這個是京准通后台算出的),該值有5個等級(根據投放頻率)分別數值為1,2,3,4,5,權重系數0.2,最多加1分。
2 商品好評率:0~1 ,權重系數為2,最多加2分。我們選商品時更關注是否高品質。
3 商家評分:5個等級,權重系數0.2,最多加1分。
4 重點扶植商家(一但被標記為扶持商家,最低等級score也會多1分):扶持分為5個等級,權重系數5,該權重影響比較大。
通過以上4個策略:score_mode:"sum"的方式做score加和。
