Elasticsearch 相关性评分与语言处理全解析
1. 位置与价格条款评分
1.1 位置评分
距离中心 5km(偏移 + 比例)的位置得分 0.5。
1.2 价格条款理解
用户偏好的价格最高为 100 英镑,但此示例将原点设置为 50 英镑。价格不能为负,越低越好,实际上,0 到 100 英镑之间的任何价格都应被视为最优。若将原点设置为 100 英镑,那么低于 100 英镑的价格得分会较低。因此,将原点和偏移都设置为 50 英镑,这样只有超过 100 英镑(原点 + 偏移)的价格得分才会降低。
权重参数可用于增加或减少单个条款的贡献,默认值为 1.0,在使用指定的 score_mode 组合得分之前,该权重会乘以每个条款的得分。
2. 使用脚本评分
2.1 脚本评分的应用场景
当 function_score 的内置函数都不满足需求时,可以使用 script_score 函数通过脚本来实现所需的逻辑。
2.2 利润计算示例
假设要将利润率纳入相关性计算,利润率取决于以下三个因素:
- 度假屋每晚的价格。
- 用户的会员级别,某些级别在每晚价格超过一定阈值时可享受一定百分比的折扣。
- 用户折扣后,每晚价格的协商利润率。
计算每个房屋利润的算法如下:
if (price < threshold) {
profit = price * margin
} else {
profi
超级会员免费看
订阅专栏 解锁全文
777

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



