在Elasticsearch中,为什么我的多行脚本不起作用?

我正在使用Elasticsearch JavaScript API。


以下脚本在无错误运行的意义上起作用:


const script = {

  "lang": "painless",

  "source": `

  for (int i = 0; i < ctx._source.metadata.length; ++i) {

  }

  `,

};

但是,当我尝试使用三个双引号时,如以下示例所示:


https://www.elastic.co/guide/zh-CN/elasticsearch/painless/master/painless-examples.html#_accessing_doc_values_from_painless


(因为我的脚本将是一个复杂的多行脚本),所以我将代码修改为:


const script = {

  "lang": "painless",

  "source": `

  """

  for (int i = 0; i < ctx._source.metadata.length; ++i) {

  }

  """

  `,

};

然后出现以下错误:


“原因\”:\“意外的令牌['\\” \\ n for(int i = 0; i <ctx._source.metadata.length; ++ i){\\ n} \\ n \\“' ]期望[{,';'}]。\“}},\”状态\“:500}”}中的一个


如何解决此问题?


炎炎设计
浏览 238回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript