elasticsearch 排序 演算法

2021-09-20 16:37:10 字數 627 閱讀 6868

如何將tfidf對映到[1,3] 區間內

(1)建立對映x→arctanx,此為一一對映,把全體實數r對映到開區間(-π/2,π/2)

(2)開區間(-π/2,π/2)到開區間(0,1)只需要乙個線性對映就可以,設為f(x)=ax+b,則有f(-π/2)=1且f(π/2)=3,解得a=2/π,b=2

綜合一下,對映x→2(arctanx)/π+2,即把全體實數對映到(1,3)

所以表示式可以寫成

"script_score" :

為了只使用函式值 設定 "boost_mode": "replace",

所以整個請求如下

elasticsearch分組排序取top N

比如有一張聯絡歷史表,裡面有使用者uid,號number,使用者所屬國家country,通話時長talktime幾個主要字段。現在的需求是要獲取平均通話時長最長的top 20個國家。先過濾掉一些不需要的資料,然後根據country分桶,在桶內求平均通話時長。最後根據每個桶的平均通話時長取top 20...

ElasticSearch 評分排序

近期有乙個需求,需要對優惠券可用商品列表加個排序,只針對面值類的券不包括折扣券。需求是這樣的,假設有一張面值券 50 塊錢,可用商品列表 a 100 b 40 c 10,當使用者查詢當前券可用商品列表的時候優先將卡券可以直接抵扣且不需要使用者在額外支付的商品排在前面。c 10 b 40 a 100 ...

Elasticsearch (九)搜尋排序和高亮

準備測試案例 delete blog put blog title content postdate put blog article 1 put blog article 2 put blog article 3 put blog article 4 put blog article 5 1.ma...