elasticsearch score 得分 自定义,elasticsearchscore
{
"from": 0,
"size": "100",
"min_score": 1,
"query": {
"function_score": {
"filter": {
"bool": {
"should": {
"multi_match": {
"query": "bmw",
"fields": [
"name",
"host"
]
}
}
}
},
"functions": [
{
"filter": {
"match": {
"name": {
"query": " bmw",
"minimum_should_match": "100%"
}
}
},
"weight": "4"
},
{
"filter": {
"match": {
"host": "bmw"
}
},
"weight": "10"
},
{
"script_score": {
"script": "width=doc['rank'].value;if(width==0){return -4};return 0"
}
}
],
"score_mode": "sum"
}
},
"sort": [
{
"_score": {
"order": "desc"
}
}
]
}
备注
function_score 自定义 score 得分使用 函数
min_score 最小score 的值, 显示大于当前score 的值
score_mode score 得分计算方式 ;
script_score script 的作用 ,如果 rank 字段的值等于 0 该记录的score 得分 = score得分 - 4; 比如 原来 得分 10 现在的得分是6
sort 按照 score 得分进行排序
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。