ES是基于REST FULL 风格的,所以可以直接通过url进行访问,接下来就使用Postman测试常用的命令
_cat
命令 | 功能 | 请求方式 |
---|---|---|
/_cat/nodes | 查看所有节点 | get |
/_cat/health | 查看ES健康状态 | get |
/_cat/master | 查看主节点 | get |
/_cat/indices | 查看所有索引 | get |
示例:例如我想查询ES的健康状态,在postman中请求 “http://ip:9200/_cat/health”,或者直接浏览器请求也是可以的
索引一个文档
命令 | 功能 | 请求方式 |
---|---|---|
/{index}/{type}/{唯一标识} | 保存或更新一条记录 | put |
/{index}/{type}/{唯一标识} | 保存或更新一条记录 | post |
将数据保存某个索引某个类型下的某个文档中,注意这两者的区别:当是put请求时,必须携带唯一标识,否则请求会抛出405异常,如果重复发送put请求则变为更新操作;而post请求可以不携带唯一标识,当不携带唯一标识时,请求变为新增操作,会自动生成唯一标识,如果携带了唯一标识,如果标识存在则是更新操作,否则是新增操作
查询文档
命令 | 功能 | 请求方式 |
---|---|---|
/{index}/{type}/{唯一标识} | 查询记录 | get |
更新文档
命令 | 功能 | 请求方式 |
---|---|---|
/{index}/{type}/{唯一标识}/_update | 更新记录 | post |
除了上面的更新,还有一种更新方法,这个方法如果重复提交,ES会对比原来的数据,如果与原来一样,就不会执行操作,并且注意JSON数据的格式,而且这个唯一标识必须在ES存在,它不会去自动新增这条数据
删除文档&索引
命令 | 功能 | 请求方式 |
---|---|---|
/{index}/{type}/{唯一标识} | 删除 | delete |
ES可以删除某个索引或者某条记录,但是不能删除某个类型
bulk 批量API
命令 | 功能 | 请求方式 |
---|---|---|
/{index}/{type}/_bulk | 批量操作 | post |
批量操作有他的语法格式,参考下面的脚本,两行为一个整体,postman不支持批量操作,可以使用kibana
{
要执行的动作(CRUD):{
源数据信息}}
{
请求体,需要操作的数据}
ES官方提供了一些测试数据(传送门),然后批量导入到ES中,为后面的测试导入基础数据