1._cat
1.1 /_cat/nodes:查看所有节点
GET http://192.168.190.135:9200/_cat/nodes
1.2 /_cat/health:查看 es 健康状况
GET http://192.168.190.135:9200/_cat/health
1.3 /_cat/master:查看主节点
GET http://192.168.190.135:9200/_cat/master
1.4 /_cat/indices:查看所有索引
类似于show databases; GET http://192.168.190.135:9200/_cat/indices
索引一个文档(保存一条记录)
索引一个文档即保存一条数据,保存在哪个索引(数据库)的哪个类型(表)下,指定用哪个唯一标识
PUT 请求带Id保存(一般用于修改)
PUT customer/external/1;在 customer 索引下的 external 类型下保存 1 号数据为:{“name”:”John Doe”}

发送多次是一个更新操作。
PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改操作,不指定 id 会报错。
2.2 POST保存
PUT 和 POST 都可以新增和修改。POST 新增。如果不指定 id,会自动生成 id。指定 id,该id如果没有对应数据为新建操作,如果有对应数据则为update操作,并更新版本号。

3 查询文档(查询记录)
get查询数据&乐观锁字段
get查询方式: index/type/id
http://192.168.56.10:9200/customer/external/1
返回的数据:
# 乐观锁更新时携带 ?if_seq_no=1&if_primary_term=1
携带数据要求_seq_no为1且_primary_term为1的时候才进行更改,如果不是则不更改

更新文档——POST /_update
更新文档有很多种方式,前面说了两种PUT /index/type/id 和 POST /index/type/id
POST customer/external/1/_update 注意该方式下的请求体格式
post /_update更新会对比原来的数据,与原来一样就什么都不做,version、seq_no均不改变。
PUT customer/external/1
和 POST customer/external/1
则不会进行比较,对原数据进行覆盖。
那么什么时候用什么呢?
- 对于大并发更新,不带 update;
- 对于大并发查询偶尔更新,带 update;对比更新,重新计算分配规则。
删除文档&索引
删除文档
直接发送delete请求

删除索引
也是直接发送delete请求
DELETE http://192.168.190.135:9200/customer
bulk——批量操作api
使用bulk进行批量操作必须发送POST请求
指定索引和类型的bulk批量操作
POST http://192.168.190.135/customer/external/_bulk
语法格式:
保存两条文档的格式:
这里无法使用postman进行测试,用kibana额Dev_tools中执行

对所有索引执行批量操作
bulk的批量操作,当发生某一条执行发生失败时,其他的数据仍然能够接着执行,也就是说彼此之间是独立的。
bulk api以此按顺序执行所有的action(动作)。如果一个单个的动作因任何原因失败,它将继续处理它后面剩余的动作。当bulk api返回时,它将提供每个动作的状态(与发送的顺序相同),所以可以检查某一个指定的动作是否失败了。
样本测试数据
json数据链接
