Elasticsearch文档数据库

相关概念

索引(index / indices)

  • 相当于MySQL中的Database

类型(type / types)

  • 相当于MySQL中的Table,可以自行创建“类型”,或者,如果不关心“类型”,使用 _doc 表示类型名
  • ES本身并不注重“类型”的概念,甚至在较高版本(8.x或以上)基本已废弃此概念

文档(document / documents)

  • 相当于MySQL中各数据表中一行行的数据
  • 在ES中每个数据都是由JSON格式组织的

字段(field / fields)

  • 相当于MySQL中的Column

 基于RESTful访问Elasticsearch -- -- 操作汇总 --简单操作

添加文档

添加文档(使用ES随机生成的ID值)

请求格式:

POST http://localhost:9200/{索引名}/{类型名}

提示:添加文档时,如果索引不存在,会自动创建索引,如果类型不存在,会自动创建类型!

请求示例:

### 添加文档
POST http://localhost:9200/index_crud/_doc
Content-Type: application/json

{
  "id": 998,
  "title": "2023新茶上市,赔本大甩卖",
  "sort": 188
}
添加文档(自行指定ID值)

请求格式:

PUT http://localhost:9200/{索引名}/{类型名}/{文档ID}

请求示例:

### 添加文档(自行指定ID值)
PUT http://localhost:9200/index_crud/_doc/Tea9527
Content-Type: application/json

{
  "id": 999,
  "title": "2023老茶上市,卖得也相当不错",
  "sort": 199
}

删除

根据ID删除文档

请求格式:

DELETE http://localhost:9200/{索引名}/{类型名}/{文档ID}

请求示例:

### 根据ID删除文档
DELETE http://localhost:9200/index_crud/_doc/Tea9527

提示:如果尝试删除的文档不存在,将响应404错误! 

删除索引

请求格式:

DELETE http://localhost:9200/{索引名}

 请求示例:

### 删除索引
DELETE http://localhost:9200/index_crud

提示:如果尝试删除的索引不存在,将响应404错误! 

修改文档

修改文档(更新整篇文档)

请求格式:

PUT http://localhost:9200/{索引名}/{类型名}/{文档ID}

请求示例:

### 修改文档(更新整篇文档)
PUT http://localhost:9200/index_crud/_doc/Tea9527
Content-Type: application/json

{
  "id": 999,
  "title": "2023老茶上市,卖得也相当不错",
  "sort": 199,
  "description": "这个老茶味道很好,强烈推荐!"
}

注意:以上做法将使用请求参数替换原有的整篇文档!

修改文档(局部修改)

请求格式:

POST http://localhost:9200/{索引名}/{类型名}/{文档ID}/_update

请求参数:

{
	"doc": {
        需要更新的数据的参数
    }
}

请求示例:

POST http://localhost:9200/index_crud/_doc/Tea9527/_update
Content-Type: application/json

{
  "doc": {
    "sort": 189,
    "description": "老茶和新茶味道还是挺不一样,要不,买个试试?"
  }
}

注意:如果请求参数中包含新的属性(原文档中没有的属性),也会更新成功,且在文档中新增新的属性! 

查看文档

查看某个索引中的所有文档

请求格式:

GET http://localhost:9200/{索引名}/_search

请求示例:

### 查看某个索引中的所有文档
GET http://localhost:9200/index_crud/_search
根据ID访问文档

 请求格式:

GET http://localhost:9200/{索引名}/{类型名}/{文档ID}

请求示例:

### 根据ID访问文档
GET http://localhost:9200/index_crud/_doc/yjEl3okBucTgSd_ILGK2

你可能感兴趣的:(elasticsearch,数据库,大数据)