Ash*_*mar 5 elasticsearch elasticsearch-plugin
我正在实施一个项目,在该项目中,结果将根据分数进行排序,并且在分数相同的情况下,结果集将根据日期字段进行排序。当分数相差 0.00001,即小数点的第 5 位或第 6 位时,就会出现问题。有什么方法可以将 Elasticsearch 中得出的分数四舍五入到小数点后第 4 位,以便二级排序可以对其进行处理。如果没有任何解决方法可以实现这一点。
谢谢阿希特
小智 4
这是一个使用脚本分数来四舍五入实际分数的可行解决方案
GET /post/_search
{
"query": {
"function_score": {
"query": {
"match": {"title": "example"}
},
"script_score" : {
"script" : {
"source": "Math.round(_score)"
}
}
}
},
"sort": [
"_score",
{"postdate": "desc"}
]
}
Run Code Online (Sandbox Code Playgroud)
在此搜索示例中,我们首先对四舍五入的 _score 进行排序,然后对 post.postdate 进行降序排序。
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |