目录
文档document介绍
手动生成id
自动生成id
_source
//定制查询字段
全量替换 put
强制创建-只创建不覆盖 增加/_create
延迟删除 该状态防止磁盘写入消耗
局部更新
脚本
并发问题
文档document介绍
默认字段:_index 索引 _type 类型 _id 可以手动、自动生成
手动生成id
导入数据有唯一主键id
自动生成id
POST /test_index/_doc
{“test”:”cc”}
GUID算法 会自动生成id 分布式生成不会冲突
_source
Put 进去的内容
//定制查询字段
Put /look/_doc/1{“name”:”c”,”price”:”s”,”c”:”v”}
Get /book/_doc/1?_source_includes=name,price
全量替换 put
每次 put 更新 会全量更新 并且更新_version 版本
强制创建-只创建不覆盖 增加/_create
put /xxx/_doc/3/_create
{"name":"cc"}
延迟删除 该状态防止磁盘写入消耗
delete /xxx/_doc/3
get /xxx/_doc/3
局部更新
Es处理步骤:
1.获取旧文档、2.内存中更新字段,3.标记删除一条,4.新建一条
优点:
1.减少网络请求次数、2.减少开销、3.减少并发冲突
操作:
put /test/_doc/5
{“name":"v","age":"18"}
Post /test/_doc/5/_update
{“doc":{“name":"czz"}}
Get /test/_doc/5
脚本
Es7后不支持 groovy 脚本 不安全还占用内存
内置脚本:
put /test/_doc/2 {"num":9} Post /test/_doc/2/_update {"script":"ctx._source.num+=1"} get /test/_doc/2 |
外置脚本:
应用少,且性能差不做过多介绍
并发问题
内部主从是,请求来了执行主,后执行副本
Es内部主从会执行请求会带上version 乐观锁,从而实现并发安全
ok
持续更新