背景
在项目上遇到一个需求,需要随机展示从 elasticsearch 中获取的查询结果,这时候想到可以通过 es 的自定义排序,来实现这个需求。自定义排序其实就是调整 es 的评分机制,达到结果的权重不同,最终实现随机查询的目的。
我们通过使用 function_score 来实现不同的评分机制。官网介绍
常见类型
function_score 查询常见有下面几种
script_scorescript 脚本评分weight字段权重评分random_score随机评分field_value_factor字段值因子评分- decay functions:
gauss, linear, exp(没用过)
代码例子
script_score
这里的查询的分数默认是乘以脚本评分的结果。 如果你想禁止这个,设置 "boost_mode": "replace"
GET index/_search
{
"query": {
"function_score": {
"query": {
"match": {
"field": "value" }
},</

最低0.47元/天 解锁文章
1651

被折叠的 条评论
为什么被折叠?



