本篇文章需要先配置好elasticsearch和kibana后食用,具体教程见 传送门
目录
1. 索引的操作
#索引相关
#创建索引
PUT /test
#判断索引是否存在
HEAD /test
#查看索引
GET /test
#查看所有索引
GET _all
#查看索引,并且可以看见健康信息等属性
GET /_cat/indices?v
#关闭索引
POST /test/_close
#再次查看索引(主要看状态)
GET /_cat/indices?v
#打开索引
POST /test/_open
#删除索引
DELETE /test
#判断是否存在
HEAD /test
2.映射操作
#映射相关
#创建映射字段 语法
PUT /索引名/_mapping
{
"properties":{
"字段名":{
"type":"类型",
"index":"true",
"store":"true",
"analyzer":"分词器"
}
}
}
#创建映射字段案例
PUT /test/_mapping
{
"properties":{
"name":{
"type":"text",
"analyzer":"ik_max_word"
},
"job":{
"type":"text",
"analyzer":"ik_max_word"
},
"logo":{
"type":"keyword",
"index":false
}
}
}
#查看映射关系
GET /test/_mapping
GET _mapping
GET _all/_mapping
#修改映射关系
#只可以添加映射,如果其他操作需要删除后重新添加
PUT /test/_mapping
{
"properties":{
"age":{
"type":"integer",
"index":false
}
}
}
#一次性创建索引和映射
PUT /test2
{
"settings": {}
, "mappings": {
"properties":{
"name":{
"type":"text",
"analyzer":"ik_max_word"
},
"job":{
"type":"text",
"analyzer":"ik_max_word"
},
"logo":{
"type":"keyword",
"index":false
}
}
}
}
#查看映射
GET /test2/_mapping
3.文档的操作及局部更新
#新建文档
POST /test/_doc/1
{
"name":"张三",
"age":22
}
#查看文档
GET /test/_doc/1
#查看所有文档
GET /test/_search
{
"query": {
"match_all": {}
}
}
#定制返回结果 指定source返回结果
GET /test/_doc/1?_source=name,age
#更新 全量更新(只要把创建的post改为put)
#这里注意,如果原有的属性值有,新的没有了,就会把有的属性删掉了
#如果指定的id存在,则进行更新,如果不存在,则执行创建
PUT /test/_doc/1
{
"name":"李四"
}
#查看 只有name了
GET /test/_doc/1
#局部更新
POST /test/_update/1
{
"doc": {
"age":22
}
}
#查看 新增了age
GET /test/_doc/1
#删除
DELETE /test/_doc/1
#查看 "found" : false
GET /test/_doc/1
#条件删除
#再次新建文档
POST /test/_doc/1
{
"name":"张三",
"age":22
}
POST /test/_doc/2
{
"name":"李四",
"age":25
}
POST /test/_delete_by_query
{
"query":{
"match":{
"name":"张三"
}
}
}
#查看所有文档 ,还有name为李四的了
#删除全部
POST /test/_delete_by_query
{
"query":{
"match_all":{
}
}
}
#再次查看所有,则全部被删掉了
GET /test/_search
{
"query": {
"match_all": {}
}
}
#强制创建,如果id存在,执行报错 "status" : 409
PUT /test/_doc/1/_create
{}