elasticsearch bulk 批量操作

这篇具有很好参考价值的文章主要介绍了elasticsearch bulk 批量操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:bulk 是 elasticsearch 提供的一种批量增删改的操作API

bulk 对 JSON串 有着严格的要求。每个JSON串 不能换行 ,只能放在同一行,同时, 相邻的JSON串之间必须要有换行 (Linux下是\n;Window下是\r\n)。bulk的每个操作必须要 一对JSON串 (delete语法除外)。

bulk 请求体如下:
{ action: { metadata }}\n
{ request body }\n
{ action: { metadata }}\n
{ request body }\n

2:action必须是以下几种:

测试索引示例
PUT batch_test
{
“mappings”: {
“properties”: {
“id”:{
“type”: “keyword”
},
“name”:{
“type”: “text”
},
“age”:{
“type”: “integer”
}
}
}
}

测试原始数据

PUT /_bulk
{“index”:{“_index”:“batch_test”,“_id”:“101”}}
{“doc”:{“name”:“测试create数据101”,“age”:“21”}}
{“index”:{“_index”:“batch_test”,“_id”:“102”}}
{“doc”:{“name”:“测试create数据101”,“age”:“22”}}

标题2.1》 create:如果文档不存在就创建,但如果文档存在就返回错误。

首次创建
elasticsearch bulk 批量操作,ES,elasticsearch
再次创建
elasticsearch bulk 批量操作,ES,elasticsearch

2.2》index 如果文档不存在就创建,如果文档存在就相当于重新创建文档

elasticsearch bulk 批量操作,ES,elasticsearch
再次执行,为重新覆盖整条doc(相当于删除后新增)
elasticsearch bulk 批量操作,ES,elasticsearch

2.3》update 更新一个文档,如果文档不存在就返回错误

elasticsearch bulk 批量操作,ES,elasticsearch
更新不存在的文档
elasticsearch bulk 批量操作,ES,elasticsearch
elasticsearch bulk 批量操作,ES,elasticsearch

2.4》批量删除,删除一个文档,如果要删除的文档id不存在,就返回错误

elasticsearch bulk 批量操作,ES,elasticsearch
再次删除,文档已经不存在,返回错误
elasticsearch bulk 批量操作,ES,elasticsearch文章来源地址https://www.toymoban.com/news/detail-732732.html

到了这里,关于elasticsearch bulk 批量操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch Java REST Client 批量操作(Bulk API)

    上一篇:Elasticsearch Java REST Client Term Vectors API 下一篇:Elasticsearch Java REST Client Search APIs 查询 BulkRequest可用于使用单个请求执行多个索引、更新和/或删除操作。 它需要至少一个操作添加到 Bulk 请求中: multiGetAPI 在单个 http 请求中并行执行多个请求get 。 MultiGetRequest,添加 `M

    2024年02月11日
    浏览(51)
  • ElasticSearch - 批量更新bulk死锁问题排查 | 京东云技术团队

    一、问题系统介绍 监听商品变更MQ消息,查询商品最新的信息,调用BulkProcessor批量更新ES集群中的商品字段信息; 由于商品数据非常多,所以将商品数据存储到ES集群上,整个ES集群共划分了256个分片,并根据商品的三级类目ID进行分片路由。 比如一个SKU的商品名称发生变化,

    2024年02月12日
    浏览(40)
  • Elasticsearch的批量bulk 提交 写入的方式会有顺序问题吗?

    Elasticsearch的分布式特性可能会导致写入操作的执行顺序与提交顺序稍有不同。在分布式环境中,Elasticsearch将数据分散到不同的节点上进行存储和处理,因此写入操作的执行顺序可能会受到网络延迟、负载均衡等因素的影响。 根源在于ES的分布式架构。如上图所示,客户端的

    2024年02月03日
    浏览(47)
  • Elasticsearch Java API 的使用-更新索引(update & upset)与 Bulk的批量更新

    Java更新索引(update upset) update 更新使用UpdateRequest(update类型更新,只能更新) upset 要用IndexRequest设定添加文档,UpdateRequest设定更新文档,设定upset执行有则修改无则更新(upset类型更新,文档不存在时创建) 基于Bulk的批量更新(update upset) 动态的更新一个 documents 中的任

    2024年02月11日
    浏览(51)
  • 使用kettle同步全量数据到Elasticsearch(es)--elasticsearch-bulk-insert-plugin应用

    为了前端更快地进行数据检索,需要将数据存储到es中是一个很不错的选择。由于公司etl主要工具是kettle,这里介绍如何基于kettle的elasticsearch-bulk-insert-plugin插件将数据导入es。在实施过程中会遇到一些坑,这里记录解决方案。 可能会遇到的报错: 1、No elasticSearch nodes found 2、

    2024年02月01日
    浏览(69)
  • 解决在使用 Elasticsearch(ES)多线程批量操作时导致并发一致性的问题!!

    先说一下什么是数据库数据库中 并发一致性 问题! 1、在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性问题。 数据丢失 T1 和 T2 两个事务都对一个数据进行修改,T1 先修改,T2 随后修改,T2 的修改覆盖了 T1 的修改。 读脏数据 T1 修改一个数据,T2 随后读取

    2024年02月04日
    浏览(54)
  • django 批量创建bulk_create和批量更新bulk_update

    以创建1万个对象为例,相比save() 循环和save() 事务,bulk_效率是save()循环保存的百倍,是事务处理的近10倍: 用法: 用法:

    2024年02月11日
    浏览(46)
  • ES批量上传数据 - Python操作ES

    2024年02月11日
    浏览(40)
  • ElasticSearch|ES 快速批量查询 doc 的 _id 的方法

    已更新整合到新文章:https://dataartist.blog.csdn.net/article/details/130139631 比较慢的查询方法:如果使用如下 body 查询 ES 索引中内容的话,实际上应该会遍历索引中所有字段,如果字段内容很长的话,速度会比较慢: 结果形如: 比较快的查询方法:如果使用如下 body 查询 ES 索引中

    2024年02月14日
    浏览(51)
  • ES: 数据增,删,改,批量操作

    1 指定id 新增 _id =1 新增一条. 此命令重复执行,就是更新id=1的数据 2 不指定id 新增 _id是随机的字符串 此命令重复执行,就是不断新增 3  指定id更新 更新整个文档, 和新增一样 4 按照id,更新文档中部分字段 5 按照id, 使用脚本更新部分字段,支持参数param,支持 拼接更新 6 按照id,

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包