本文共 554 字,大约阅读时间需要 1 分钟。
1、关于put /index/type/id 和post /index/type/id/_update两这个区别
put操作,如果id不存在,则创建新的document,如果id存在是全量替换
post当中的是对部分内容的替换,es对两者底层的实现也是不同的,称做是partial update,其底层实现方式是
a.内部获取到全量的document对象
b.将传递过来的filed更新到document当中
c.将旧的document设置成deleted
d.将新创建的document创建出来
partial update和直接update全量的不同在于,整个操作过程都是在一个es的shard当中执行的,执行结束之后,才会将数据同步到不同的shard上面,避免了二次网络请求
2、批量查询命令
对于确定的index,type,批量根据id
_mget命令
GET /ecommerce/product/_mget{ "ids":[1,2]}
也可以查询不同的type下的数据
GET /ecommerce/_mget{ "docs":[{ "_type":"product", "_id":1 }, { "_type":"product", "_id":1 } ]}
转载地址:http://zqvti.baihongyu.com/