暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

elasticsearch-数据操作-增删改查

鲁班同学 2019-12-30
220

学习思路:

  1. 什么是文档?

  2. RESTful API增删改查

  3. 版本控制


一、什么是文档

文档(document):通常是指elasticsearch中的一条数据,可以代表任何一个json格式的字符串,在elasticsearch中是用json格式存储的,其中_index+_type+_id能确定唯一一个文档

  1. _index:文档存储的地方,类似于Mysql库的概念

  2. _type:代表一个index下的一种存储类型(建议一个每个type的存储的数据结构保持一致),类似于Mysql表的概念

  3. _id:type下存储的文档(document)的唯一标识,可以新增数据时自己指定,如果不指定系统将自动生成,类似于数据库表中的一条数据


二、RESTful API增删改查

1、新增

自定义id,注意这里使用的PUT操作

PUT /{index}/{type}/{id}
{
"field": "value",
...
}


栗子:_index:megacorp;_type:employee;_id:4

我们用postman来请求


响应结果


 返回201 Created,这里除了_index、_type、_id外多了_version:主要是版本控制时用,result是结果,_shards:是分片执行情况

自增id,注意这里用的是POST方法


响应结果

 

这里和自定义 的主要区别就是id生成

2、查询

使用上一步新增的_index,_type按id进行GET查询

GET /website/blog/4



当然我们也可以直接查询_source

 

当然还可以查询_source里的部分字段


 3、修改

修改跟按自定义id请求一样,body一样,返回值_version字段+1;执行过程如下:

  1. 根据id查询文档

  2. 修改

  3. 删除旧文档

  4. 索引新文档

4、删除

DELETE /megacorp/employee/4


三、版本控制

在删除、修改操作时,如果出现并发情况,那么会根据乐观锁机制使用我们新增时返回的_version进行判断,如果满足则操作,如果不满足则直接放弃本次请求


文章转载自鲁班同学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论