版本:
Elasticsearch 7.4
Kibana 7.4
Elasticsearch 7.x版本之后索引(Index)里只允许创建一个类型(Type)
创建索引:
PUT /ems
创建一个叫ems的索引
查看索引:
GET /ems
查看所有索引:
GET /_cat/indices
或
GET /_cat/indices?v
删除索引:
DELETE /ems
创建映射:
PUT /dangdang
{
"mappings": {
"properties":{
"name":{
"type":"keyword"
},
"price":{
"type":"double"
},
"author":{
"type":"keyword"
},
"des":{
"type":"text"
}
}
}
}
dangdang为自定义的索引名称,7.x版本不用写type,加上type会报错。(这里说的type不是字段里type)
查看映射:
GET /dangdang/_mapping
添加文档:
POST /dangdang/_doc
{
"name" : "think in java",
"price" : 39.8,
"author" : "asc",
"des" : "好书"
}
或
PUT /dangdang/_doc/6
{
"name" : "think in java",
"price" : 39.8,
"author" : "asc",
"des" : "好书"
}
POST和PUT的区别:
使用PUT时需要在后面指定_id,比如【PUT /dangdang/_doc/6】中的【6】就是指定的_id,POST可以指定也可以不指定。
POST和PUT指定_id之后如果该_id存在的话就会先删除原先的文档,后添加新的文档
查看文档:
GET /dangdang/_doc/_Jmez3kByR1YFKCHHyjL
【GET /dangdang/_doc/_Jmez3kByR1YFKCHHyjL】中【_Jmez3kByR1YFKCHHyjL】是_id的值。
修改文档:
POST /dangdang/_update/_Jmez3kByR1YFKCHHyjL
{
"doc":{
"name":"think in java2",
"bir":"2021-06-03 10:34:00"
}
}
【POST /dangdang/_update/_Jmez3kByR1YFKCHHyjL】_update是关键字,doc也是关键字,如果doc里的字段文档里没有,则会在文档里新增这个字段。
修改_id为【_Jmez3kByR1YFKCHHyjL】的文档,如果_id查不到就会报错。
删除文档:
DELETE /dangdang/_doc/_Jmez3kByR1YFKCHHyjL
批量操作,添加、删除、修改:
PUT /dangdang/_doc/_bulk
{"index":{}}
{"name":"批量添加","price":2.0, "author":"spf","des":"测试数据"}
{"index":{}}
{"name":"批量添加2","price":2.0, "author":"spf","des":"测试数据"}
{"delete":{"_id":"95kEzHkByR1YFKCHUCjX"}}
{"delete":{"_id":"2"}}
{"update":{"_id":"5"}}
{"doc":{"price":231000,"author":"zz","des":"fc"}}
index:向索引中添加文档,可以添加多个文档;
delete:删除文档,可以删除多个文档;
update:修改文档,可以修改多个文档;