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

相关推荐
光算科技13 分钟前
如何用WordPress和Shopify提升SEO表现?
搜索引擎
SafePloy安策43 分钟前
ES信息防泄漏:策略与实践
大数据·elasticsearch·开源
学术搬运工1 小时前
【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)
大数据·图像处理·人工智能·科技·机器学习·自然语言处理
涔溪1 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
Matrix702 小时前
HBase理论_背景特点及数据单元及与Hive对比
大数据·数据库·hbase
B站计算机毕业设计超人3 小时前
计算机毕业设计Python+大模型农产品价格预测 ARIMA自回归模型 农产品可视化 农产品爬虫 机器学习 深度学习 大数据毕业设计 Django Flask
大数据·爬虫·python·深度学习·机器学习·课程设计·数据可视化
Carl_奕然4 小时前
【大数据算法】MapReduce算法概述之:MapReduce基础模型
大数据·算法·mapreduce
csdn5659738504 小时前
Elasticsearch 重建索引 数据迁移
elasticsearch·数据迁移·重建索引
天幕繁星4 小时前
docker desktop es windows解决vm.max_map_count [65530] is too low 问题
windows·elasticsearch·docker·docker desktop
Elastic 中国社区官方博客4 小时前
Elasticsearch 8.16:适用于生产的混合对话搜索和创新的向量数据量化,其性能优于乘积量化 (PQ)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索