如何解决Elasticsearch在设置分数时为多个文档的脚本参数返回相同的值
我正在尝试使用function_score&function在Elasticsearch中对文档进行评分。 我在script_score中使用了自定义变量,并为每个文档更新了它的值。但是对于2个不同的文档,我获得了相同的更新值。
我的脚本是这样的:
"functions": [
{
"filter": {
"bool": { ...
},"script_score": {
"script" : {
"source": """params.counter = params.counter + 1;
return params.counter;
""","params": {
"counter":1
}
}
此代码可以正常工作,并为过滤后的响应中返回的每个文档分配一个增量值(基本上是位置)。
问题在于某些文档的_score
的值相同。
我在这里缺少基本的东西吗? elasitcsearch是否为每个分片保留脚本变量的不同副本? 还是有解决此问题的方法? 我要做的就是为每个文档分配一个递增的位置值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。