gpt4 book ai didi

Elasticsearch 无痛 : Error when using three quotes: Unexpected Character ('\"' (code 34))

转载 作者:行者123 更新时间:2023-12-02 22:13:09 25 4
gpt4 key购买 nike

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

运行单行脚本工作正常:

{
"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]

有任何想法吗?

最佳答案

我能够为 Postman 解决一个问题(至少)。您不能在 postman 正文 JSON 中使用多行字符串,因此请使用预请求脚本。下面是一个例子:

pm.environment.set("painless_script",`\
return 0\
`);

笔记:
  • 使用 'ticks' 包装脚本
  • 你必须逃避每一行的结尾,否则Painless会提示。

  • 然后在消息正文中:
    {
    "script_fields": {
    "scripted": {
    "script": {
    "lang": "painless",
    "source": "{{painless_script}}"
    }
    }
    }
    }

    这会从 Elasticsearch 产生正确的结果

    关于Elasticsearch 无痛 : Error when using three quotes: Unexpected Character ('\"' (code 34)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931073/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com