返回的结果按照请求的id集合顺序返回
使用自定义脚本计算得分, 按照得分默认的降序顺序返回结果
根据ids进行筛选排序
{
"query":{
"function_score":{
"boost_mode":"replace",
"query":{
"bool":{
"filter":{
"ids":{
"values":[
50,
80,
44,
12
]
}
}
}
},
"script_score":{
"script":{
"params":{
"ids":[
50,
80,
44,
12
]
},
"source":"params.ids.length - params.ids.indexOf(doc['_id'].value)"
}
}
}
},
"size":20,
"from":0
}
仅使用ids进行排序
{
"query": {
"function_score": {
"boost_mode": "replace",
"query": {
"bool": {
"must": [
{
"match": {
"ent_name": "科技公司"
}
}
]
}
},
"script_score": {
"script": {
"params": {
"ids": [
"70796831",
"63636474",
"191385579"
]
},
"source":"if(params.ids.indexOf(doc['_id'].value) <0){return 0.001 * _score}else{return params.ids.length - params.ids.indexOf(doc['_id'].value)}"
}
}
}
}
}