Elasticsearch Painless从嵌套元素计算分数

Elasticsearch Painless从嵌套元素计算分数,第1张

Elasticsearch Painless从嵌套元素计算分数

嵌套文档存储在索引中的不同文档中,因此您不能通过父文档中的doc值来访问它们。您需要使用源文档并导航至

topics.weight
属性,如下所示:

孤立无痛

int score = 0; for(int i = 0; i < params._source['topics'].size(); i++) {     score += params._source['topics'][i].weight; }return score;

完整查询:

{  "query": {    "function_score": {      "query": {        "term": { "title": "Book 1" }      },      "script_score": {        "script": {          "lang": "painless",          "inline": "int score = 0; for(int i = 0; i < params._source['topics'].size(); i++) { score += params._source['topics'][i].weight; } return score;",          "params": { "default_return_value": 100          }        }      }    }  }}

PS:还请注意,该类型

int
不存在,它是
integer



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存