Почему в Elasticsearch не работает мой многострочный скрипт? - PullRequest
0 голосов
/ 26 апреля 2019

Я использую 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) {
  }
  """
  `,
};

и затем я получаю следующую ошибку:

"причина \": \ "неожиданный токен ['\\" \\ n для (int i = 0; i

Как мне исправить эту проблему?

1 Ответ

1 голос
/ 26 апреля 2019

В JavaScript многострочные строки можно сделать с помощью `. Нет необходимости в "" ". Документация, на которую вы ссылаетесь, не относится к JavaScript.

... потому что мой сценарий будет сложным многострочным

... Но ваш первый пример также показывает многострочный код, и это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...