使用PostMan操作
创建索引
# 创建名为shopping的索引名称
PUT http://127.0.0.1:9200/shopping
- 响应
查看索引
# 查看名为shopping的索引
GET http://127.0.0.1:9200/shopping
- 响应
查看所有索引
GET http://127.0.0.1:9200/_cat/indices?v
- 响应
删除索引
# 删除名为shopping的索引
DELETE http://127.0.0.1:9200/shopping
- 响应
创建文档数据
因为幂等性的原因(返回的_id是随机生成的),只能使用POST
(幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用)
# 在shopping中创建一个文档,需要有请求体(JSON格式) _doc表示文档类型的数据
POST http://127.0.0.1:9200/shopping/_doc
- 添加数据
- 响应
返回的"_id"类似于es生成的主键id,每次post生成的_id都是不一样的
自定义_id
此时使用PUT请求也是可以的
# 在shopping中创建一个文档,需要有请求体(JSON格式),可以自定义生成的_id的值
POST/PUT http://127.0.0.1:9200/shopping/_doc/1001
- 响应
此时返回的_id为自定义的id了
查询
# 1001表示添加数据后返回的_id的值
GET http://127.0.0.1:9200/shopping/_doc/1001
- 响应
- 如何查询的id不存在
查收所有
# 查询shopping下所有数据
GET http://127.0.0.1:9200/shopping/_search
修改
完全覆盖性修改
- 根据id完全覆盖掉数据
# 完全覆盖掉_id为1001的数据
PUT http://127.0.0.1:9200/shopping/_doc/1001
- json数据
- 响应
此时再查询数据,得到的是添加的json数据,原数据已经被覆盖,类似Map
局部性修改
只修改原数据里面的某一项的值
例如只修改age的值,其他数据不修改
# 修改age的值,需要提交请求体(JSON)
# 使用_doc表示新增, _update表示修改
POST http://127.0.0.1:9200/shopping/_update/1001
- 提交的数据
- 响应
此时再次根据id查询可以看到age已经被修改为18
删除数据
# 根据id删除数据
DELETE http://127.0.0.1:9200/shopping/_doc/1001
- 响应
条件查询
地址栏拼接
会出现乱码形式
# 根据book查询含有老人的数据 q表示query
GET http://127.0.0.1:9200/shopping/_search?q=book:老人
- 响应
请求体格式(推荐)
GET http://127.0.0.1:9200/shopping/_search
query表示查询,match表示匹配查询的意思
- 响应
全量查询
通过请求体形式查询全部
GET http://127.0.0.1:9200/shopping/_search
match_all表示全量查询
分页查询
通过请求体形式分页查询
GET http://127.0.0.1:9200/shopping/_search
- from 表示当前页数据起始位置
- size 每页条数
只查询指定的数据
- _source表示指定哪些数据被查询出来
- 响应
可以看到只有price、book被查询出来
排序
- sort 可以指定字段进行排序(升序/降序)
对price字段进行降序排序
price是文档内的字段
order表示排序规则
- 响应
价格进行了降序排序
条件组合查询
- bool 表示多个条件
- must 表示多个条件必须要同时成立 类似and
- mutch 表示匹配
{
"query":{
"bool": {
"must":[
{
"match":{
"book": "老人"
}
},
{
"match":{
"price": 121
}
}
]
}
}
}
表示 book为老人 且 price为121
- should 表示或者 类似or
{
"query":{
"bool": {
"should":[
{
"match":{
"book": "老人"
}
},
{
"match":{
"price": 121
}
}
]
}
}
}
- 表示 book为老人 或者 price为121
范围查询
- filter 表示过滤
- range 表示范围
- gt 表示大于
{
"query":{
"bool": {
"must":[
],
"filter":{
"rang":{
"price":{
"gt": 5000
}
}
}
}
}
}