【Elasticsearch】使用Postman操作es的_bulk批量操作

news/2025/2/26 9:55:48

众所周知,Elasticsearch的语法还是很恶心的。因此需要大量的调试,有些人在kibana上进行调试,但是如果想使用Postman进行调试时,大部分还是没有问题的。主要是bulk操作,有一些特殊性。关键问题在于换行这里。

如果你要使用postman调试时,如果有以下报错,希望可以帮助到你
在这里插入图片描述

以下方案以Elasticsearch7.10版本官方文档Elasticsearch7.10 Bulk为例
官方示例

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }

在这里插入图片描述
第二句大致翻译为:actions 使用换行符分隔的 JSON (NDJSON) 结构在请求正文中指定:
在这里插入图片描述
翻译:数据的最后一行必须以换行符 \n 结尾。每个换行符前面可以有一个回车符 \r。向 _bulk 端点发送请求时,应将 Content-Type 标头设置为 application/x-ndjson

官网说的很明白,就是每个插入以及最后一行都必须有换行!!我们可以将最后一行空出来
在这里插入图片描述

结果成功 !!!
在这里插入图片描述

当然还有另外一种导入方式就是选择二进制文件的导入方式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

第三种方法是使用curl的方式

如果要向 curl 提供文本文件输入,则必须使用 --data-binary 标志,而不是普通的 -d。后者不保留换行符。例:

$ cat requests
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
$ curl -s -H "Content-Type: application/x-ndjson" -XPOST localhost:9200/_bulk --data-binary "@requests"; echo
{"took":7, "errors": false, "items":[{"index":{"_index":"test","_type":"_doc","_id":"1","_version":1,"result":"created","forced_refresh":false}}]}

挺麻烦的,不建议使用


http://www.niftyadmin.cn/n/5868509.html

相关文章

nvm下载node版本npm下载失败

需要切换node版本,使用nvm作为管理工具。 安装node 10.24.1 nvm install 10.24.1 npm下载失败: 使用提示的网址下载npm压缩包(https://github.com/npm/cli/archive/v6.14.12.zip) 将压缩包内容解压到 nvm 对应node版本目录下…

flink operator v1.10对接华为云对象存储OBS

1 概述 flink operator及其flink集群,默认不直接支持华为云OBS,需要在这些java程序的插件目录放一个jar包,以及修改flink配置后,才能支持集成华为云OBS。 相关链接参考: https://support.huaweicloud.com/bestpracti…

论文笔记(七十二)Reward Centering(三)

Reward Centering(三) 文章概括摘要3 基于值的奖励中心化4 案例研究: 以奖励为中心的 Q-learning5 讨论、局限性与未来工作致谢 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan…

洛谷 P8705:[蓝桥杯 2020 省 B1] 填空题之“试题 E :矩阵” ← 卡特兰数

【题目来源】 https://www.luogu.com.cn/problem/P8705 【题目描述】 把 1∼2020 放在 21010 的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案? 答案很大,你只需要给出方案数除以 2020 的余数即可。 【答案提交】 …

ChatGPT免费背后的技术暗战 国产数字孪生如何打造“虚实共生”新生态?

当ChatGPT搜索功能向全球免费开放,AI技术的平民化时代正式来临。在这场看似“让利”的商业策略背后,实则是全球科技话语权的重新洗牌。国产厂商如何在这场博弈中占据主动?数字孪生技术的场景化落地提供了破局方向。据中国信通院认证&#xff…

TCP,http,WebSocket

TCP(Transmission Control Protocol,传输控制协议)和HTTP(HyperText Transfer Protocol,超文本传输协议)都是网络通信中的重要协议,但它们在网络协议栈的不同层次上工作,各自负责不同…

校园的网络安全

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 1、什么是端口安全 端口安全(Port Security),从基本原理上讲,Port Security特性会通过MAC地址表记录连接到交换机…

ReentrantLock 用法与源码剖析笔记

📒 ReentrantLock 用法与源码剖析笔记 🚀 一、ReentrantLock 核心特性 🔄 可重入性:同一线程可重复获取锁(最大递归次数为 Integer.MAX_VALUE)🔧 公平性:支持公平锁(按等…