声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

function score query会修改查询算分

原始算分 query score

相关性算分 & 算分函数

weight

给定一个常量值,作为函数结果 function score

field_value_factor

用文档中的某个字段值作为函数结果

random_score

随机生成一个值,作为函数结果

script_score

自定义计算公式,公式结果作为函数结果

加权模式

定义 query scorefunction score 的计算方式

multiply

两者相乘,默认为此加权模式

replace

用function score 替换 query score

其他

比如 sum avg max min

GET /hotel/_serach
{
    "query":{
        function_score: {
            query: {match: {all: "外滩"}}, //原始查询条件,根据相关性打分,算分结果query score
            functions:[
                {
                    filter:{term: {id: 1}}, //过滤条件,复合条件的文档才会被重新算分
                    weight: 10 //算分函数,结果成为function score,将来会与query score一起计算得到新算分,常见的有weight field_value_factor random_score script_score
                }
            ],
            boost_mode: multiply //加权模式,定义query score 和 function score 的计算方式,主要有 multiply replace 和 其他比如 sum avg max min
        }
    }
}