gpt4 book ai didi

php - Elasticsearch批量数据插入-JsonParseException [意外字符-使用PHP

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

使用PHP curl方法为大容量数据建立索引时,出现了"error":"JsonParseException[Unexpected character (':' (code 58)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: [B@14abb68; line: 1, column: 18]]","status":500}这个异常

请在下面找到我正在使用的相同代码,并让我知道这里可能有什么问题。

<?php
$ch = curl_init();
$method = "POST";
$url = "http://192.168.1.204/myindex/test/_bulk";


$qry = '
{"index":{"_index": "myindex","_type":"test"}}
{
"product_id": 1,
"title": "mobile"
}
{"index":{"_index": "myindex","_type":"test"}}
{
"product_id": 2,
"title": "laptop",
}
';

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PORT, 9200);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method));
curl_setopt($ch, CURLOPT_POSTFIELDS, $qry);

$result = curl_exec($ch);
curl_close($ch);
echo $result;

?>

最佳答案

您使用的格式不正确(第二个元素还有一个逗号)。
它应该是:

action_and_meta_data\n
optional_source\n
action_and_meta_data\n
optional_source\n
....
action_and_meta_data\n
optional_source\n

elasticsearch - bulk的文档中提取

因此,您应该使用以下格式添加数据:
{"index":{"_index": "myindex","_type":"test"}}
{"product_id": 1,"title": "mobile"}
{"index":{"_index": "myindex","_type":"test"}}
{"product_id": 2,"title": "laptop"}

关于php - Elasticsearch批量数据插入-JsonParseException [意外字符-使用PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33107738/

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