不为失败找理由,要为成功找方法。

es6执行脚本问题

Elasticsearch | 作者 famoss | 发布于2018年04月02日 | 阅读数:2866

我有一个脚本,在es2下面可以正常运行,但是到了es6下面就报错
{
"script": {
"source": "newArray = ; ctx._source.SaleClue?.each { obj -> if (obj.id != item.id) {newArray = newArray+obj} }; (ctx._source.SaleClue = newArray item)",
"params": {
"item": {
"id": 18,
"ClueType": 0,
"ClueState": 0,
"TripBeginDate": 0,
"TripEndDate": 0
}
}
}
}
 

报错为:
{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[dataname][ip:port][indices:data/write/update[s]]"}],"type":"illegal_argument_exception","reason":"failed to execute script","caused_by":{"type":"script_exception","reason":"compile error","script_stack":["... x._source.SaleClue?.each { obj -> if (obj.id != it ..."," ^---- HERE"],"script":"newArray = ; ctx._source.SaleClue?.each { obj -> if (obj.id != item.id) {newArray = newArray+obj} }; (ctx._source.SaleClue = newArray item)","lang":"painless","caused_by":{"type":"illegal_argument_exception","reason":"unexpected token ['{'] was expecting one of [{<EOF>, ';'}]."}}},"status":400}
[b]EDIT:
已解决,groovy脚本已不支持。[/b]https://www.elastic.co/guide/e ... .html,

已邀请:

要回复问题请先登录注册