ES学习(七)--documentAPI
一、创建document
A、指定id创建
PUT /ecommerce/_doc/1
{
}
B、自动添加id
POST /ecommerce/_doc
{}
二、全量替换(将原来的标记未删除,新建一个document,当空间不够时,标记为删除的document会被删除)
A、PUT /ecommerce/_doc/1
{}
B、强制创建
PUT /ecommerce/_doc/1/_create
三、删除
A、DELETE /ecommerce/_doc/1
四、部分修改
A、POST /ecommerce/_update/1
{}
B、优点
1. 所有的查询、修改和写回操作都发生在一个shard内部,避免了所有的网络数据传输的开销,大大提升了性能。
2. 减少了查询和修改的时间间隔,可以有效地减少并发冲突的情况
五、乐观锁并发控制
POST /ecommerce/_update/1?if_seq_no=17&if_primary_term=2
{
"doc": {
"name":"changed3"
}
}
六、多个查询(多个查询尽量用多查询操作,可以提升很大性能)
A、查询不同index下的数据
GET /_mget
{
"docs":[
{
"_index":"ecommerce",
"_type":"_doc",
"_id":"1"
},
{
"_index":"ecommerce",
"_type":"_doc",
"_id":"2"
}
]
}
B、查询同一个index下的数据
GET /ecommerce/_mget
{
"docs":[
{
"_type":"_doc",
"_id":"1"
},
{
"_type":"_doc",
"_id":"2"
}
]
}
C、查询同一个index,同一个type下的数据
GET /ecommerce/_doc/_mget
{
"ids":["1","2"]
}