目录
Elasticsearch是使用RESTful风格的http请求访问操作的,请求参数和返回值都是Json格式的,我们可以使用kibana、postman发送http请求操作ES。
kibana如何发送请求
在此处发送请求即可
kibana查看索引
在此处查看索引
postman 操作ES
自行搜索,和Kibana的区别仅在于不同软件的使用,操作脚本是一致的
数据结构
可以参考博客链接
创建索引
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:put
说明:mappings可选(允许不创建结构)
报错:索引已经存在报错400
脚本示例
PUT /student1
{
"mappings": {
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "text"
}
}
}
}
删除索引
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:delete
说明:
报错:索引不存在,报错404
脚本示例
DELETE /student1
给索引增加结构
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:post
说明:可以给索引增加结构,但不会删除原有的结构,重名的变量不同类型会报错
脚本示例
POST /student/_mapping
{
"properties":{
"id":{
"type":"integer"
},
"name":{
"type":"text"
}
}
}
新增/修改文档
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:post
说明:id不写时会自动生成id,但当id重复时,会覆盖原文档
脚本示例
POST /student/_doc/1
{
"id":1,
"name":"wunaiieq",
"age":10
}
查询文档
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:get
说明:
脚本示例
GET /student/_doc/1
删除文档
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:delete
说明:删除只是标记为delete状态,空间不足时物理删除。
脚本示例
DELETE /student/_doc/1
根据id批量查询
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:get
说明:
脚本示例
GET /student/_mget
{
"docs":[
{"_id":1},
{"_id":2}
]
}
查询所有文档
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:get
说明:
脚本示例
GET /student/_search
{
"query": {
"match_all": {}
}
}
修改文档的部分字段
路径:postman:ip:port/index
kibana:无,内置了ES的连接,因此直接写索引即可:/index
请求方式:post
说明:/_doc/1 指的是你要更新的文档类型(在这里是_doc)和文档ID(在这里是1)(版本正在迭代,原本的_doc位置是文档类型,现在统一指定,不用管这个)
脚本示例
POST /student/_doc/1/_update
{
"doc":{
"age":99
}
}