ES 的文档操作

1.新增文档

语法:

 

复制代码
POST /索引库名/_doc/文档id
{
    "字段1": "值1",
    "字段2": "值2",
    "字段3": {
        "子属性1": "值3",
        "子属性2": "值4"
    },
    // ...
}
复制代码

示例:

复制代码
POST /heima/_doc/1
{
    "info": "黑马程序员Java讲师",
    "email": "zy@itcast.cn",
    "name": {
        "firstName": "云",
        "lastName": "赵"
    }
}
复制代码

响应:

2.查询文档

根据rest风格,新增是post,查询应该是get,不过查询一般都需要条件,这里我们把文档id带上。

语法: GET /{索引库名称}/_doc/{id}

通过kibana查看数据: GET /heima/_doc/1

查看结果:

3.删除文档

删除使用DELETE请求,同样,需要根据id进行删除:

语法:  DELETE /{索引库名}/_doc/id值

示例: 

# 根据id删除数据
DELETE /heima/_doc/1

4.修改文档

修改有两种方式:

  • 全量修改:直接覆盖原来的文档

  • 增量修改:修改文档中的部分字段

4.1.全量修改

全量修改是覆盖原来的文档,其本质是:

  • 根据指定的id删除文档

  • 新增一个相同id的文档

注意:如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。

语法:

PUT /{索引库名}/_doc/文档id
{
    "字段1": "值1",
    "字段2": "值2",
    // ... 略
}

示例:

复制代码
PUT /heima/_doc/1
{
    "info": "黑马程序员高级Java讲师",
    "email": "zy@itcast.cn",
    "name": {
        "firstName": "云",
        "lastName": "赵"
    }
}
复制代码

4.2.增量修改

增量修改是只修改指定id匹配的文档中的部分字段。

语法:

POST /{索引库名}/_update/文档id
{
    "doc": {
         "字段名": "新的值",
    }
}

示例:

POST /heima/_update/1
{
  "doc": {
    "email": "ZhaoYun@itcast.cn"
  }
}

5.总结

文档操作有哪些?

  • 创建文档 :POST/索引库名/_doc/文档id  { json文档 }
  • 查询文档 :GET/{索引库名}/_doc/文档id
  • 删除文档 :   DELETE/{索引库名}/_doc/文档id 
  • 修改文档:
    • 全量修改  :   PUT /{索引库名}/_doc/文档id { json文档 }
    • 增量修改  :   POST /{索引库名}/_update/文档id { "doc": {字段}}

mapping 的索引库无法修改只能新增,而文档操作的修改不是修改索引库,是修改了文档内容。

 

 

posted @   kisshappyboy  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示