到目前为止,我正按文档将数据索引到弹性文档,现在随着数据开始增加,它变得非常缓慢而不是优化方法.所以我正在寻找一个批量插入的东西,发现了Elastic Bulk API.从他们官方网站的文件我感到困惑.我使用的方法是将数据作为WebRequest传递并在弹性服务器中执行.因此,在创建批量/批量插入请求时,API希望我们形成类似的模板
localhost:9200/_bulk as URL and
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
Run Code Online (Sandbox Code Playgroud)
索引具有id 1和field1值为1的文档.此外,API建议将数据作为JSON发送(不成熟,以维护非转义字符等).因此,为了传递具有多个属性的多个文档,我如何构建我的数据.
我尝试在FF RestClient中使用POST和标头作为JSON,但RestClient抛出一些错误,我知道它不是一个有效的JSON
{ "index" : { "_index" : "indexName", "_type" : "type1", "_id" : "111" },
{ "Name" : "CHRIS","Age" : "23" },"Gender" : "M"}
Run Code Online (Sandbox Code Playgroud)
您的数据格式不正确:
}第一行的收盘}在第二行中间有一个关闭,您也需要将其删除.为批量插入格式化数据的正确方法如下所示:
curl -XPOST localhost:9200/_bulk -d '
{ "index" : { "_index" : "indexName", "_type" : "type1", "_id" : "111" }}
{ "Name" : "CHRIS","Age" : "23" ,"Gender" : "M"}
'
Run Code Online (Sandbox Code Playgroud)
这会奏效.
UPDATE
在Chrome上使用Postman看起来像这样.确保在第2行之后添加新行:
使用elasticsearch 7.9.2
为了发送批量更新,我收到如下新行错误
更新失败,没有换行
这很奇怪,但在所有操作的最后添加新行后,邮递员可以正常工作,请注意下面屏幕截图中的第 5 行
在邮递员的所有命令的最后一个中添加换行符后批量更新成功
| 归档时间: |
|
| 查看次数: |
4331 次 |
| 最近记录: |