[英]In Elasticsearch, why isn't my multi-line script working?
我正在使用Elasticsearch JavaScript API。
以下脚本在无错误运行的意义上起作用:
const script = {
"lang": "painless",
"source": `
for (int i = 0; i < ctx._source.metadata.length; ++i) {
}
`,
};
但是,当我尝试使用以下示例中的三个双引号时:
(因为我的脚本将是一个复杂的多行脚本),所以我将代码修改为:
const script = {
"lang": "painless",
"source": `
"""
for (int i = 0; i < ctx._source.metadata.length; ++i) {
}
"""
`,
};
然后出现以下错误:
“ reason \\”:\\“意外的令牌['\\\\” \\\\ n for(int i = 0; i <ctx._source.metadata.length; ++ i){\\\\ n} \\\\ n \\\\“' ]期望[{,';'}]。\\“}},\\”状态\\“:500}”}中的一个
如何解决此问题?
在JavaScript中,多行字符串可以使用`。 不需要“”。您参考的文档不适用于JavaScript。
...因为我的脚本将是一个复杂的多行脚本
...但是您的第一个示例也显示了多行代码,这行得通吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.