Elasticsearch批量操作

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

Elasticsearch批量操作

基本语法

##POST _bulk
##POST /<index_name>/_bulk
## {"action":{"metadata_key":"meta_value"}## action:create,updte,delete,index
## {"data"}

批量写入

批量写入节省堆内存,跟PUT写入原理不一样

要注意,必须写成如下格式

有点奇怪

POST _bulk
{"create":{"_id":"101","_index":"test_idx_aggs"}}
{"name":"test1","age":12}

批量get

GET test_index/_mget
{
	"ids": [1,2,3,4,5]
}
GET test_index/_mget
{
 "docs": [
  {"_id": 1,

   "_source":["ajmc"]

  },

  {

   "_id": 2,

   "_source":{

    "include":["jsbax_sjjh2_xz_ryjbxx_cleaning"],

    "exclude":["ajmc"]

   }

  }

 ]

}

支持的操作类型

op_type

有增删改查四种

DELETE,CREATE,UPDATE,INDEX

CREATE: 存在报错 不存在插入

UPDATE:有则全量覆盖,无则插入文章来源地址https://www.toymoban.com/news/detail-525784.html

# 逻辑删除;即使数据不存在也会创建一个空的记录然后不断更新_version字段

DELETE test_index/_doc/10



GET test_index/_doc/10

# 先执行DELETE操作之后_version字段已经不是0PUT test_index/_doc/10

{

 "name":"test"

} 
# 可以指定操作类型,必须使用 index是创建或更新操作

 POST test_index/_doc/10?op_type=index

 {

  "doc":{

   "age":10,

   "name":"test"

  }

 }

 GET test_index/_doc/10
# 部分更新 全量替换 PUT indexname/_doc/docid 

POST test_index/_doc/10/_update

{

"doc": {

 "age": 10,

 "name": "test"

}

}

GET test_index/_doc/10

批量删除

POST _bulk
{"delete":{"_id":"102","_index":"test_idx_aggs"}}
{"delete":{"_id":"103","_index":"test_idx_aggs"}}

## 支持不同op_type的批量比如同时增删改都可以的

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

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

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

相关文章

  • ElasticSearch|ES 快速批量查询 doc 的 _id 的方法

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

    2024年02月14日
    浏览(50)
  • java操作ElasticSearch之批量操作

    出现: 版本冲突、文档类型不对、JAR包与使用的API不一致或其他问题。都可参考以下连接。 ElasticSearch超级实用API描述 以上代码需要变动一下,将一些参数替换掉。

    2024年02月16日
    浏览(45)
  • Elasticsearch实战(十七)---ES搜索如何使用In操作查询及如何Distinct去除重复数据

    Elasticsearch实战-ES搜索如何使用In操作查询filter过滤及如何Distinct去除重复数据 场景: ES搜索, 获取手机号是 19000001111 或者 19000003333 后者 19000004444 的人, 并且 性别是男, 且 年龄是[20-30]的人,这种查询用mysql 如何实现 ? 在mysql中会用in查询, 但是在ES中 我们实现就是 term

    2023年04月09日
    浏览(44)
  • Elasticsearch批量操作

    Elasticsearch批量操作 批量写入节省堆内存,跟PUT写入原理不一样 要注意,必须写成如下格式 有点奇怪 op_type 有增删改查四种 DELETE,CREATE,UPDATE,INDEX CREATE: 存在报错 不存在插入 UPDATE:有则全量覆盖,无则插入

    2024年02月12日
    浏览(32)
  • elasticsearch bulk 批量操作

    bulk 请求体如下: { action: { metadata }}n { request body }n { action: { metadata }}n { request body }n 测试索引示例 PUT batch_test { “mappings”: { “properties”: { “id”:{ “type”: “keyword” }, “name”:{ “type”: “text” }, “age”:{ “type”: “integer” } } } } 测试原始数据 PUT /_bulk {“index”:{“_i

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

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

    2024年02月12日
    浏览(43)
  • Java SpringBoot API 实现ES(Elasticsearch)搜索引擎的一系列操作(超详细)(模拟数据库操作)

    小编使用的是elasticsearch-7.3.2 基础说明: 启动:进入elasticsearch-7.3.2/bin目录,双击elasticsearch.bat进行启动,当出现一下界面说明,启动成功。也可以访问http://localhost:9200/ 启动ES管理:进入elasticsearch-head-master文件夹,然后进入cmd命令界面,输入npm run start 即可启动。访问http

    2024年02月04日
    浏览(54)
  • Elasticsearch初识之索引的批量操作

    批量查询和批量增删改 批量查询 批量写入: 注意: bulk api对json的语法有严格的要求,除了delete外,每一个操作都要两个json串(metadata和business data),且每个json串内不能换行,非同一个json串必须换行,否则会报错; bulk操作中,任意一个操作失败,是不会影响其他的操作的

    2024年02月02日
    浏览(38)
  • Java API批量操作Elasticsearch

    @Test public void batchAddIndex() throws IOException { BulkRequestBuilder bulkRequest = client .prepareBulk(); bulkRequest.add( client .prepareIndex( “batch_test1” , “batch” , “1” ) .setSource( jsonBuilder () .startObject() .field( “user” , “lzq” ) .field( “postDate” , new Date()) .field( “message” , “trying out Elasticsearch”

    2024年04月09日
    浏览(43)
  • ElasticSearch中批量操作(批量查询_mget、批量插入删除_bulk)

    有时候可以通过批量操作来减少网络请求。如:批量查询、批量插入数据。 当某一条数据不存在,不影响整体响应,需要通过found的值进行判断是否查询到数据。          在Elasticsearch中,支持批量的插入、修改、删除操作,都是通过_bulk的api完成的。 请求格式如下:(

    2024年02月12日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包