学习思路:
什么是文档?
RESTful API增删改查
版本控制
一、什么是文档
文档(document):通常是指elasticsearch中的一条数据,可以代表任何一个json格式的字符串,在elasticsearch中是用json格式存储的,其中_index+_type+_id能确定唯一一个文档
_index:文档存储的地方,类似于Mysql库的概念
_type:代表一个index下的一种存储类型(建议一个每个type的存储的数据结构保持一致),类似于Mysql表的概念
_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;执行过程如下:
根据id查询文档
修改
删除旧文档
索引新文档
4、删除
DELETE /megacorp/employee/4
三、版本控制
在删除、修改操作时,如果出现并发情况,那么会根据乐观锁机制使用我们新增时返回的_version进行判断,如果满足则操作,如果不满足则直接放弃本次请求
文章转载自鲁班同学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。