小编Jer*_*my 的帖子

Elasticsearch Painless:使用三个引号时出错:意外字符('\"'(代码 34))

我正在运行 Elasticsearch 的本地实例,并尝试在 scripted_fields 下使用“无痛”。我可以很好地编写一行脚本代码,但是当我使用三引号(根据文档支持)创建多行脚本时,它给了我这个奇怪的解析错误。

运行单行脚本效果很好:

{
  "script_fields": {
    "scripted": {
      "script": {
        "lang": "painless",
        "source": "0"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果中返回的每个实体中的结果(预期)如下:

"fields" : {
  "scripted" : [
    0
  ]
}
Run Code Online (Sandbox Code Playgroud)

但使用多行格式:

{
  "script_fields": {
    "scripted": {
      "script": {
        "lang": "painless",
        "source": 
        """
          0
        """
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@56e69b76; line: 7, column: 12]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

elasticsearch elasticsearch-painless

7
推荐指数
1
解决办法
3733
查看次数