es-文档的CRUD和批量操作-02
Elasticsearch 文档的CRUD和批量操作
文档的CRUD
Type 名,约定都用 _doc
index (如果ID不存在,创建新的文档。否则,先删除现有的文档,再创建新的文档,版本会增加)
PUT my_index/_doc/1
{“user”: “mike”, “comment”: “You know, for search”}create (如果ID已经存在,会失败)
PUT my_index/_create/1
{“user”: “mike”, “comment”: “You know, for search”}POST my_index/_doc (不指定ID,自动生成)
{“user”: “mike”, “comment”: “You know, for search”}read
GET my_index/_doc/1update (文档必须已经存在,更新只会对响应字段做增量修改)
POST my_index/_update/1
{ “doc”: {“user”: “mike”, “comment”: “You know, for Elasticsearch”}}delete
DELETE my_index/_doc/1
批量操作
Bulk API
- 支持在一次api调用中,对不同的索引进行操作
- 支持四中类型操作
- index
- create
- update
- delete
- 可以在URI中指定index,也可以在请求的payload中进行
- 操作中单挑操作失败,并不会影响其他操作
- 返回结果包括了每一条操作执行的结果
1 |
|
mget 批量读取
批量操作,可以减少网络连接所产生的开销,提高性能
1 |
|
msearch 批量查询
1 |
|
常见错误返回
问题 | 原因 |
---|---|
无法连接 | 网络故障或集群挂了 |
连接无法关闭 | 网络故障或节点出错 |
429 | 集群过于繁忙 |
4xx | 请求体格式错误 |
500 | 集群内部错误 |
es-文档的CRUD和批量操作-02
http://example.com/2022/11/06/es/es-文档的CRUD和批量操作-02/