一·_mget:
1.创建的索引如下:
2.批量查询:
#查询两个 GET _mget { "docs":[ { "_index":"testdb", "_type":"ty2", "_id":1 }, { "_index":"testdb", "_type":"ty1", "_id":1 }] }
#指明索引查询 GET testdb/_mget { "docs":[ { "_type":"ty2", "_id":1 }, { "_type":"ty1", "_id":1 }] }
#指明索引和type GET testdb/ty2/_mget { "docs":[ { "_id":1 }, { "_id":2 }] }
#获取指定索引和type下的 GET testdb/ty2/_mget { "ids":[1,2] }
二.bulk批量操作:
增删改查:把所有操作发送到一个节点解析,在由节点分发,数据量一次也不能提交太多
注:每条数据第一行为索引及type和id,第二行为数据内容(共两行,不能分开写,否则无法解析,除delete(删除)只有一句之外
#增 {"index":{"_index":"test","_type":"type1","_id":"1"}} {"field1":"value1"} #增 {"create":{"_index":"test","_type":"type1","_id":"1"}} {"field1":"value1"}
#区别 #index时会检查_version。如果插入时没有指定_version,那对于已有的doc,_version会递增,并对文档覆盖。插入时如果指定_version,如果与已有的文档_version不相等,则插入失败,如果相等则覆盖,_version递增。 #create时也会检查_version,但是对于已有的文档,不会创建新文档,即插入失败。 {"delete":{"_index":"test","_type":"type1","_id":"1"}} #改 {"create":{"_index":"test","_type":"type1","_id":"1"}} {"docs":{"field1":"value2"}}
#添加案列 POST _bulk {"index":{"_index":"lagou","_type":"job1","_id":"1"}} {"title":"haha","salary":"2"} {"index":{"_index":"lagou","_type":"job2","_id":"2"}} {"title":"haha","salary":"100"}