gpt4 book ai didi

elasticsearch - 缺少使用批量 API 添加的换行符

转载 作者:行者123 更新时间:2023-12-02 22:16:33 36 4
gpt4 key购买 nike

我想使用批量 API 将以下文件添加到 Elasticsearch:

{"_id":{"date":"01-2007","profile":"Da","dgo":"DGO_E_AIEG","consumerType":"residential"},"value":{"min":120.42509,"minKwh":0.20071,"nbItems":6.0}}

使用命令

curl -XPOST -H 'Content-Type: application/json' localhost:9200/_bulk --data-binary Downloads/bob/test.json

但我犯了以下错误:

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\n]"}],"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\n]"},"status":400}

注意:文件末尾显然有一个空行

最佳答案

在文档中说:

NOTE: the final line of data must end with a newline character \n.

上面有一个文档预期外观的示例。 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html .也许在每行末尾添加 \n 可以解决问题。

更新:

您将数据放入 JSON 文件的方式可能有问题。例如,以下数据在example.json中:

{ "index" : { "_index" : "example", "_type" : "doc", "_id" : "1" } }
{ "field1" : "value1" }
<space here>

当运行以下 curl 命令时,它起作用了:

curl -X POST -H "Content-Type: application/x-ndjson" localhost:9200/_bulk --data-binary "@example.json"

可能是您的 JSON 文件中没有包含重要的内容,或者您​​没有“@your_file.json”,或者像提到的其他海报一样,您没有内容类型 应用程序/x-ndjson

关于elasticsearch - 缺少使用批量 API 添加的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48810804/

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