我正在使用Elasticsearch JavaScript API。

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

const script = {
  "lang": "painless",
  "source": `
  for (int i = 0; i < ctx._source.metadata.length; ++i) {
  }
  `,
};

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

https://www.elastic.co/guide/en/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) {
  }
  """
  `,
};

然后出现以下错误:



如何解决此问题?

最佳答案

在JavaScript中,多行字符串可以使用`。不需要“”。您引用的文档不适用于JavaScript。



...但是您的第一个示例也显示了多行代码,这行得通吗?

08-17 12:24