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个注意项设置后,请求成功界面如下:

相关推荐
正在走向自律20 分钟前
大数据时代时序数据库选型指南:从技术架构到实战案例
大数据·架构·时序数据库
攻城狮7号29 分钟前
万物互联时代,如何选择合适的时序数据库?
大数据·物联网·时序数据库·apache iotdb·sql mcp
黄焖鸡能干四碗1 小时前
网络安全态势报告,网络安全风险评估报告文档
大数据·网络·安全·web安全·信息可视化·需求分析
勇往直前plus2 小时前
ElasticSearch详解(篇二)
大数据·elasticsearch·jenkins
Hello.Reader2 小时前
使用 Flink CDC Elasticsearch Pipeline Connector 打通 MySQL 与 Elasticsearch 的实时链路
mysql·elasticsearch·flink
YongCheng_Liang2 小时前
openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
linux·运维·elk·elasticsearch
Elasticsearch4 小时前
Elasticsearch:如何在 ES|QL 中使用 FORK 及 FUSE 命令来实现混合搜索 - 9.1+
elasticsearch
说私域5 小时前
定制开发AI智能名片S2B2C预约服务小程序的定制开发与优势分析
大数据·人工智能·小程序
武子康5 小时前
大数据-155 Apache Druid 存储与查询架构实战:Segment/Chunk/Roll-up/Bitmap 一文讲清
大数据·后端·nosql
ITVV6 小时前
计算引擎 Flink 1.19.3
大数据·flink