使用“ \ n”的ElasticSearch和Groovy脚本

时间:2018-07-05 07:46:04

标签: elasticsearch groovy

我有下一个查询:

{
 "script": " for (int i = 0; i < ctx._source.sample.size(); i++) {boolean f = false;if (ctx._source.sample[j].id == sample.id) {ctx._source.sample[j].c_rg = sample.c_rg;f=true;break;}}\nif(!f){ctx._source.sample.add(sample);}}",
 "params": {
   "sample": 
     {
       "id": "GM033438",
       "c_rg": [{"start":"69082","end":"70000"}]
     }

 }

}

我遇到此错误:

“类型”:“ script_exception”,                 “ reason”:“无法编译groovy脚本”,                 “ caused_by”:{                     “ type”:“ multiple_compilation_errors_exception”,                     “原因”:“启动失败:\ n1dfd396b94db7321e5b5c14fbb1bfc21983608e6:2:期望EOF,在第40行的第2行中找到了'}'。\ n if(!f){ctx._source.sample.add(sample);}} \ n ^ \ n \ n1错误\ n“                 }

似乎我对“ \ n”有疑问...但是我不知道要解决它...谢谢!

1 个答案:

答案 0 :(得分:1)

错误消息指出:expecting EOF, found '}'

在这个地方:

if(!f){ctx._source.sample.add(sample);}}

(不需要最后一个}