【发布时间】:2019-05-01 02:52:18
【问题描述】:
我正在运行 Elasticsearch 的本地实例,并尝试在 scripted_fields 下使用“无痛”。我可以编写单行脚本代码就好了,但是当我使用三引号(根据文档支持)创建多行脚本时,它给了我这个奇怪的解析错误。
运行单行脚本可以正常工作:
{
"script_fields": {
"scripted": {
"script": {
"lang": "painless",
"source": "0"
}
}
}
}
在结果中返回的每个实体中都有这个结果(预期):
"fields" : {
"scripted" : [
0
]
}
但使用多行格式:
{
"script_fields": {
"scripted": {
"script": {
"lang": "painless",
"source":
"""
0
"""
}
}
}
}
给我这个错误:
Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@56e69b76; line: 7, column: 12]
有什么想法吗?
【问题讨论】:
-
你运行的是哪个 ES 版本?它至少在 6.6.1 上有效。
-
我正在运行 7.0.0。这太奇怪了。现在它没有给我错误。我在 Kibana、over curl 和 Postman 中尝试过,现在都返回了正确的结果。不知道最初是什么导致了这个问题。 ://
-
呃,我说错了。我想我正在使用上面那个“有效”的脚本哈哈。好的,刚刚通过 Postman 又试了一次,还是一样的错误。
-
好的,我会检查 7 并反馈
标签: elasticsearch elasticsearch-painless