elasticsearch 弹性搜索中的权函数\分数函数
我想以不同的方式对函数的每个函数进行加权。我有一个常规的文本查询,混合了基于日期的衰退和地理查询。我想减少基于日期的衰减的权重。在一些旧文档中,我看到了功能评分的scale\u-weight选项,但我再也看不到了。我的问题是: 查询:{ 功能评分:{ 查询:{ 查询字符串:{ 查询:我的查询, 默认_运算符:或 } }, 职能:[ { 分数:{ 脚本:_score*doc[\rgScore\]。值 } }, { 高斯:{ 地点:{ 来源:{ 拉脱维亚:49.4928119, lon:-117.2948343 }, 规模:100公里, 偏移量:10公里, 衰减:0.5 } } }, { 经验:{ 开始:{ 来源:2014-06-20, 比例:90d, 偏移量:0d, 衰减:0.01 } } } ], 过滤器:{ 范围:{ 开始:{ gte:2014-06-20 } } } } }的文档介绍了如何执行此操作,您也可以查看 总之,您可以为每个函数添加1.4.0.Beta1之后版本的权重或该属性之前版本的boost_因子,它将适当修改每个子句的贡献 对于您的情况,类似于:elasticsearch 弹性搜索中的权函数\分数函数,elasticsearch,elasticsearch,我想以不同的方式对函数的每个函数进行加权。我有一个常规的文本查询,混合了基于日期的衰退和地理查询。我想减少基于日期的衰减的权重。在一些旧文档中,我看到了功能评分的scale\u-weight选项,但我再也看不到了。我的问题是: 查询:{ 功能评分:{ 查询:{ 查询字符串:{ 查询:我的查询, 默认_运算符:或 } }, 职能:[ { 分数:{ 脚本:_score*doc[\rgScore\]。值 } }, { 高斯:{ 地点:{ 来源:{ 拉脱维亚:49.4928119, lon:-117.2
{
"exp": {
"start": {
"origin": "2014-06-20",
"scale": "90d",
"offset": "0d",
"decay": 0.01
}
},
"weight" : 0.2
}
应该可以工作-如果您有1.4.0.Beta1之前的版本,请尝试使用boost_factor替换重量
权重始终是相对于其他函数子句的,因此您可能还需要调整它们以获得所需的结果。的文档介绍了如何执行此操作,您也可以查看
总之,您可以为每个函数添加1.4.0.Beta1之后版本的权重或该属性之前版本的boost_因子,它将适当修改每个子句的贡献
对于您的情况,类似于:
{
"exp": {
"start": {
"origin": "2014-06-20",
"scale": "90d",
"offset": "0d",
"decay": 0.01
}
},
"weight" : 0.2
}
应该可以工作-如果您有1.4.0.Beta1之前的版本,请尝试使用boost_factor替换重量
权重始终相对于其他函数子句,因此,您可能还需要调整它们以获得所需的结果。您能告诉我您是如何启用脚本的吗?我的意思是,您是否在您的yml文件或任何内容中写入了任何内容?请告诉我,我正在搜索此文件很长时间?您能告诉我您是如何启用脚本的吗?我的意思是,您是否在您的yml文件或任何内容中写入了任何内容有什么请告诉我我正在搜索soo long吗?你能告诉我你是如何启用脚本的吗?我的意思是你在你的yml文件中写了什么吗?或者有什么请告诉我我正在搜索soo long吗?我相信他们出于安全原因在最近的版本中禁用了某些语言的脚本。@SudhanshuGaur是的,默认情况下禁用查询中的脚本,可以启用它,但不建议使用文件中的脚本。你能告诉我你是如何启用脚本的吗?我的意思是,你在你的yml文件中写了什么东西吗?请告诉我,我正在搜索这么长的时间?我相信,出于安全原因,他们在最近的版本中禁用了某些语言的脚本。@SudhanshuGaur是的,默认情况下,查询中的脚本是禁用的,可以启用它,但不推荐使用-而是在文件中使用脚本