elasticsearch version: 7.10.1
function_score介绍
Elasticsearch 中的 function_score 查询允许你根据一组定制函数来调整每个文档的评分,从而影响搜索结果的排序
function_score语法
GET /<索引名>/_search
{
"query": {
"function_score": {
"query": {
/* 这里是你基础查询的内容 */ }, // 可选,默认为 match_all 查询
"functions": [ // 可选,定义一系列函数来修改评分
{
"filter": {
/* 可选,仅对满足此过滤条件的文档应用函数 */ },
"weight": <数值>, // 直接乘以权重
"field_value_factor": {
/* 基于字段值改变评分 */ },
"script_score": {
/* 使用脚本计算新的评分 */ },
"linear": {
/* 衰减函数之一 */ },
"exp": {
/* 衰减函数之一 */ },
"gauss": {
/* 衰减函数之一 */ },
/* 其他可用的函数... */
},
...
],
"score_mode": "<模式>", // 如 'multiply', 'sum', 'avg', 'first', 'max' 或 'min'
"boost_mode":