您好,登錄后才能下訂單哦!
背景:需求是讓按照相關度的70%和另外一個字段權重的30%去排序
這難死我了,官網和網上找了一堆資料,終于搞定,總結一句,問題總有一天會解決,要不斷的花費時間去研究。廢話不多說,直接上代碼
這地方有個坑,一定要設置 "track_scores": true,
注:當使用排序_sort 來指定依據某些字段排序。就不會計算得分,需要設置"track_scores":true,這樣分數就會被計算和跟蹤。
這是官網給的一個標注:
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-request-sort.html
{
"query": {
"term": {
"title": "php"
}
},
"sort": {
"_script": {
"type": "number",
"script": {
"inline": "(_score params.score_percent) + (doc['course_score'].value params.course_percent)",
"params": {
"score_percent": "0.7",
"course_percent": "0.3"
}
},
"order": "desc"
}
},
"track_scores": true
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。