ES的文档(数据)基础操作 —— 增删改查API版
基本语法:格式:示例:结果:删除使用DELETE请求,同样,需要根据id进行删除:基本语法:示例:结果:修改有两种方式:全量修改是覆盖原来的文档,其本质是:注意:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。基本语法:示例:结果:增量修改是只修改指定id匹配的文档中的部分字段。基本语法:示例:结果基本语法:示例:查看结果:.........
·
Elasticsearch文档基础操作
ES的文档和MySQL的数据差不多是一个感念,MySQL的一条数据就相当于ES的一条文档。
新增文档
基本语法:
- 请求方式:POST
- 请求路径:/索引库名/_doc/文档id(如果不加文档id,es会随机生成一个id)
- 请求参数:mapping映射
格式:
POST /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
}
}
示例:
POST /blog/_doc/5
{
"id": 5,
"author_id": 41,
"title": "Flex布局基础知识",
"description": "Flex布局基础知识",
"school_code": null,
"cover_image": "https://baidu.com",
"create_time": "2022-06-07 15:29:26",
}
结果:
删除文档
删除使用DELETE请求,同样,需要根据id进行删除:
基本语法:
DELETE /{索引库名}/_doc/id值
示例:
# 根据id删除数据
DELETE /blog/_doc/5
结果:
修改文档
修改有两种方式:
- 全量修改:直接覆盖原来的文档
- 增量修改:修改文档中的部分字段
全量修改
全量修改是覆盖原来的文档,其本质是:
- 根据指定的id删除文档
- 新增一个相同id的文档
注意:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。
基本语法:
PUT /{索引库名}/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
// ... 略
}
示例:
PUT /blog/_doc/5
{
"id": 5,
"author_id": 41,
"title": "Flex布局基础知识",
"description": "Flex布局基础知识",
"school_code": null,
"cover_image": "baidu.com",
"create_time": "2022-06-07 15:29:26",
"release_time": "2022-06-07 15:29:26",
"modified_time": null,
"status": 1
}
结果:
增量修改
增量修改是只修改指定id匹配的文档中的部分字段。
基本语法:
POST /{索引库名}/_update/文档id
{
"doc": {
"字段名": "新的值",
}
}
示例:
POST /blog/_update/5
{
"doc": {
"cover_image": "taobao.com"
}
}
结果
查询文档
基本语法:
GET /{索引库名称}/_doc/{id}
示例:
GET /blog/_doc/5
查看结果:
总结
- 创建文档:POST /{索引库名}/_doc/文档id { json文档 }
- 查询文档:GET /{索引库名}/_doc/文档id
- 删除文档:DELETE /{索引库名}/_doc/文档id
- 修改文档:
- 全量修改:PUT /{索引库名}/_doc/文档id { json文档 }
- 增量修改:POST /{索引库名}/_update/文档id { “doc”: {字段}}
更多推荐
已为社区贡献5条内容
所有评论(0)