ES版本:6.4
脚本分两步:
- 过滤掉不关心的数据,加速后续计算分值性能
- 编写分值脚本,得到最终分值
GET /user/_doc/_search
{
"query": {
"function_score": {
// 过滤掉不关心的数据,加速计算分值性能
"query": {
"bool": {
"filter": [
{
"term": {
"delFlag": 0
}
}
]
}
},
"script_score": {
"script": {
"lang": "painless",
"source": """
int score = 0;
score = score + params.a;
// 写自己的业务,返回分值
return score;
""",
"params": {
"a": 5,
"b": 10
}
}
}
}
}
}
总结
如果返回的数据较多,考虑只返回关心的数据。



