ElasticSearch DSL语法

本文详细介绍了Elasticsearch中的批量数据获取与操作方法,包括_mget和_bulkAPI,以及高级查询技巧如DSL语言、查询条件、映射类型和版本控制。重点讨论了文本和keyword类型的使用区别以及乐观并发控制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、文档批量操作

1.批量获取文档数据

批量获取文档数据是通过_mget的API来实现的

img

(1)在URL中不指定index和type

  • 请求方式:GET

  • 请求地址:_mget

  • 功能说明 : 可以通过ID批量获取不同index和type的数据

  • 请求参数:

  • docs : 文档数组参数

  • _index : 指定index

  • _type : 指定type(7.x的版本不推荐使用)

  • _id : 指定id

  • _source : 指定要查询的字段

img

(2)在URL中指定index

  • 请求方式:GET

  • 请求地址:/{ {indexName}}/_mget

  • 功能说明 : 可以通过ID批量获取不同index和type的数据

  • 请求参数:

  • docs : 文档数组参数

  • _index : 指定index

  • _type : 指定type(7.x的版本不推荐使用)

  • _id : 指定id

  • _source : 指定要查询的字段

img

(3)在URL中指定index和type

  • 请求方式:GET

  • 请求地址:/{ {indexName}}/{ {typeName}}/_mget

  • 功能说明 : 可以通过ID批量获取不同index和type的数据

  • 请求参数:

  • docs : 文档数组参数

  • _index : 指定index

  • _type : 指定type

  • _id : 指定id

  • _source : 指定要查询的字段

img

2.批量操作文档数据

批量对文档进行写操作是通过_bulk的API来实现的

  • 请求方式:POST

  • 请求地址:_bulk

  • 请求参数:通过_bulk操作文档,一般至少有两行参数(或偶数行参数)

  • 第一行参数为指定操作的类型及操作的对象(index,type和id)

  • 第二行参数才是操作的数据

{“actionName”:{“_index”:“indexName”, “_type”:“typeName”,“_id”:“id”}}

{“field1”:“value1”, “field2”:“value2”}

  • actionName:表示操作类型,主要有create,index,delete和update

(1)批量创建文档create

img

(2)普通创建或全量替换index

img

  • 如果原文档不存在,则是创建
  • 如果原文档存在,则是替换(全量修改原文档)

(3)批量删除delete

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值