基本操作
ES和关系数据上的一些区别
Elasticsearch 6.X 中,一个 index 包含一个Type
Elasticsearch 7.X 中, Type 的概念已经删除
索引
Index,类似关系数据库的 database
| 场景 | 协议 | URL |
|---|---|---|
| 创建索引 | PUT | http://172.176.21.220:9200/shopping |
| 查看所有索引 | GET | http://172.176.21.220:9200/_cat/indices?v |
| 查看单个索引 | GET | http://172.176.21.220:9200/shopping |
| 删除索引 | DELETE | http://172.176.21.220:9200/shopping |
- shopping 为索引名
- 选择POST协议,是因为PUT协议有幂等校验,POST没有幂等校验
创建索引
- 即创建索引数据库
创建索引~~Response
{
"acknowledged"【响应结果】: true, # true 操作成功
"shards_acknowledged"【分片结果】: true, # 分片操作成功
"index"【索引名称】: "shopping"
}
查看全部索引
_cat表示查看;indices表示索引。v表示详细展示
三者表示查看当前 ES服务器中的所有索引详细信息
Response

查看单个索引
Response

删除索引
Response
{
“acknowledged”【响应结果】: true, # true 操作成功
}
文档
文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。
| 场景 | 协议 | URL |
|---|---|---|
| 添加文档 | POST | http://172.176.21.220:9200/shopping/_doc |
| 添加指定Id的文档 | POST | http://172.176.21.220:9200/shopping/_doc/20210527 |
| 查看某个文档 | GET | http://172.176.21.220:9200/shopping/_doc/20210527 |
| 查看所有文档 | GET | http://172.176.21.220:9200/shopping/_search |
| 全局修改某个文档 | PUT | http://172.176.21.220:9200/shopping/_doc/20210527 |
| 局部修改某个文档 | POST | http://172.176.21.220:9200/shopping/_update/20210527 |
| 删除某个文档 | DELETE | http://172.176.21.220:9200/shopping/_doc/20210527 |
| 条件删除文档 | POST | http://172.176.21.223:9200/shopping/_delete_by_query |
索引中添加文档
- _doc表示在索引中添加文档,可以用_create代替
- ES服务器会随机生成一个唯一性Id
- _doc/xxxxx添加指定Id为XXXXX的文档
Response 
查看文档
- _search 查看索引库里的所有文档
- _doc/xxxx查看索引库单个文档
Response

更新文档
- 覆盖索引库的某个文档,使用PUT协议;
- _doc
全局更新文档,同新增文档请求体
{
"title":"小米手机",
"category":"小米",
"images":"http://www.gulixueyuan.com/xm.jpg",
"price":7999.00
}
- 索引库某个文档局部修改,使用POST协议;
- _update
局部修改文档
{
"doc": {
"title":"小米PLUS"
}
}
删除文档
- _delete协议删除索引库中的某个文档
条件删除文档
- POST协议
- _delete_by_query
{
"query":{
"match":{
"price":4000.00
}
}
}
Response

映射
- 索引库(index)的映射,类似于关系数据库的表结构
- 创建数据库表需要设置字段名称,类型,长度,约束等;
- 索引库也一样,需要知道这个索引库下有哪些字段,每个字段有哪些约束信息,这叫做映射(mapping)
| 场景 | 协议 | URL |
|---|---|---|
| 创建映射 | PUT | http://172.176.21.223:9200/shopping/_mapping |
| 查看映射 | GET | http://172.176.21.223:9200/shopping/_mapping |
| 索引映射关联 | PUT | http://172.176.21.223:9200/student |
创建映射
- _mapping
- PUT
{
"properties": {
"name":{
"type": "text",
"index": true
},
"sex":{
"type": "text",
"index": false
},
"age":{
"type": "long",
"index": false
}
}
}
查看映射
- GET
索引映射关联
- PUT
- 即创建索引时,连映射一起创建
{
"settings": {},
"mappings": {
"properties": {
"name":{
"type": "text",
"index": true
},
"sex":{
"type": "text",
"index": false
},
"age":{
"type": "long",
"index": false
}
}
}
}
本文档详述了Elasticsearch 6.x至7.x的变化,包括Type的移除,并展示了如何进行索引创建、查看、删除等基本操作。此外,还涵盖了文档的增删改查以及条件删除,以及映射的创建和查看。通过HTTP协议和RESTful API,可以方便地管理Elasticsearch中的数据。
459

被折叠的 条评论
为什么被折叠?



