ES8.13 _bulk报错Malformed content, found extra data after parsing: START_OBJECT解决

在使用elaticsearch8.13.0使用批量创建索引时,根据谷粒中说的es7.9方法去批量操作请求:

http://127.0.0.1:9200/shop/_doc/_bulk

**注意1:**设置header为Content-Type:application/x-ndjson,否则请求报错:

javascript 复制代码
{
    "error": "Content-Type header [] is not supported",
    "status": 406
}

body:

javascript 复制代码
{"index": {"_index":"shop","_type":"_doc","_id": "2004"}} 
{"id": "2004", "nickname": "index2004"} 
{"index": {"_index":"shop","_type":"_doc","_id": "2007"}} 
{"id": "2007", "nickname": "name2007"} 
{"index": {"_index":"shop","_type":"_doc","_id": "2008"}} 
{"id": "2008", "nickname": "name2008"}

报错信息如下:

javascript 复制代码
{
    "error": {
        "root_cause": [
            {
                "type": "illegal_argument_exception",
                "reason": "Malformed content, found extra data after parsing: START_OBJECT"
            }
        ],
        "type": "illegal_argument_exception",
        "reason": "Malformed content, found extra data after parsing: START_OBJECT"
    },
    "status": 400
}

根据报错翻译:内容格式错误,解析后发现额外数据:START_OBJECT。其实说白了就是请求的url不对。大家可以参考elaticsearch官网查看:

Bulk API | Elasticsearch Guide [8.14] | Elastic

注意2: body里面的Json或text最后要多空一行,如下截图:

否则会报错:

javascript 复制代码
{
    "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
}

当你把上面的2个注意项设置后,请求成功界面如下:

相关推荐
Caitlin_lee_9 分钟前
SCAU数据科学与大数据技术导论期末整理(1-3章)
大数据
weixin_456904273 小时前
Git大文件管理与版本回退
大数据·git·elasticsearch
TDengine (老段)3 小时前
TDengine 转换函数 CAST 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
成长之路5143 小时前
【实证分析】地级市人口集聚度数据集-含代码(2000-2024年)
大数据
专注数据的痴汉4 小时前
「数据获取」《中国商务年鉴》(2004-2024)
大数据·人工智能·信息可视化
一只小青团4 小时前
Hadoop之javaAPI写HDFS的shell命令
大数据·hadoop·分布式
天下无敌笨笨熊5 小时前
ES作为向量库研究
大数据·python·elasticsearch
Hello.Reader5 小时前
Flink CDC 用 SqlServer CDC 实时同步数据到 Elasticsearch
elasticsearch·sqlserver·flink
阿里云大数据AI技术7 小时前
阿里云 Elasticsearch 的 AI 革新:高性能、低成本、智能化的搜索新纪元
人工智能·elasticsearch·阿里云