ES function_score计算分时,自定义script_score 里的def怎么取出结果的前几位
Elasticsearch | 作者 zhougreat | 发布于2019年07月09日 | 阅读数:3322
{
"function_score": {
"query": {"bool": {}},
"score_mode": "sum",
"max_boost": 200,
"script_score": {
"script": "def def_index=doc['region'].value;if(def_index === 110000){return 20 * 0.2}{return 95 * 0.2}else if(def_index [:?怎么取出前几位的值]=== 1100){return 60* 0.2}"
},
"boost_mode": "replace"
}
}
"function_score": {
"query": {"bool": {}},
"score_mode": "sum",
"max_boost": 200,
"script_score": {
"script": "def def_index=doc['region'].value;if(def_index === 110000){return 20 * 0.2}{return 95 * 0.2}else if(def_index [:?怎么取出前几位的值]=== 1100){return 60* 0.2}"
},
"boost_mode": "replace"
}
}
1 个回复
zhougreat - 执念执着
赞同来自:
{
"function_score": {
"query": {
"bool": {
"filter": [{}]
}
},
"score_mode": "sum",
"max_boost": 200,
"script_score": {
"script": "def def_index=doc['region_id'].value;if ( '110000' == def_index){return 100 * 0.25}else if ( '1100' == def_index.substring(0,4){return 50* 0.25}
},
"boost_mode": "replace"
}
}