ES入门二:文档的基本操作

索引管理

创建索引

删除索引

文档管理

创建文档

  1. 如果有更新需求,使用第一种
  2. 如果有唯一性校验,使用第二种
  3. 如果需要系统给你创建文档Id,使用第三种 (这个性能更好

相比第一种,第三种的写入效率更高,因为不需要在库中查询是否已经存在,并且进行后续的删除工作

获取文档

使用Get Api来获取单个文档

Get Api比较简单,使用时只需要指定文档id即可。文档的原生内容保存在"_source"字段中,其他字段是这个文档的元数据。如果成功,返回的是http状态码为200,如果文档不存在则http状态码为404,并且found字段为false。

Get Api提供了多个参数,下面是几个比较常用的:

使用Mget Api来获取多个文档

更新文档

如果说发现一些书籍的信息有误,需要进行修改,ES提供了update Api来更新信息,我们可以通过这个接口来更新书本的信息

上图中更新了文档2的name和intro字段,如返回结果所示,版本号为增加,"result"字段为updated。

上面提到过,创建文档的时候也有更新文档的效果,但是和文档更新接口有什么区别那?其实之前PUT books/_doc/1 的效果是删除数据,然后再写入数据。它完成不了只更新某些字段的需求

删除文档

如上示例,如果文档存在则删除成功,"result"为"deleted",如果文档不存在,则返回http的状态码为404

批量操作文档

当我们需要写入多个文档的时候,如果每写入一个文档就发送一个请求,多少有点浪费。这个时候我们可以使用bulk api来批量处理

bulk api支持在一次调用中操作不同的索引,使用可以在Body中指定索引也可以在URI中指定索引。而且还可以同时支持4种索引操作:

  • Index
  • Create
  • Update
  • Delete
相关推荐
青稞社区.24 分钟前
Claude Code 源码深度解析:运行机制与 Memory 模块详解
大数据·人工智能·elasticsearch·搜索引擎·agi
T062051441 分钟前
【面板数据】地级市及区县人口空心化数据(2000-2024年)
大数据
Aktx20FNz2 小时前
iFlow CLI 完整工作流指南
大数据·elasticsearch·搜索引擎
LaughingZhu2 小时前
Anthropic 收购 Oven 后,Claude Code 用运行时写了一篇护城河文章
大数据·人工智能·经验分享·搜索引擎·语音识别
学习3人组3 小时前
TortoiseGit冲突解决实战上机练习
大数据·elasticsearch·搜索引擎
Ln5x9qZC23 小时前
Flink SQL 元数据持久化实战
大数据·sql·flink
OYpBNTQXi3 小时前
Flink Agents 源码解读 --- (6) --- ActionTask
大数据·flink
A__tao3 小时前
Elasticsearch Mapping 一键生成 Go Struct,支持嵌套解析
elasticsearch·es
中金快讯4 小时前
济民健康医疗服务占比提升至46%!业务结构调整初见成效
大数据·人工智能
lizhihai_994 小时前
股市学习心得-尾盘半小时买入法
大数据