Elasticsearch基础更新操作解析
需积分: 48 78 浏览量
更新于2024-08-18
收藏 810KB PPT 举报
"这篇内容主要介绍了Elasticsearch(ES)的基础知识,特别是关于文档的更新操作。ES通过PUT或POST方法可以对已有文档进行更新。在更新过程中,ES首先标记旧文档为删除状态,随后添加新文档,旧文档会在后台逐步被清理。此外,文中还提到了其他CRUD操作,如创建、删除和索引操作,并提到了使用Jackson库生成JSON对象,以及DFS在ES查询中的可能含义。"
在Elasticsearch中,文档的更新是一个涉及多个步骤的过程。当使用PUT或POST请求对已有ID的文档进行更新时,ES并不直接覆盖原有文档,而是采取以下策略:
1. **标记旧文档为删除**:首先,系统会将与请求ID匹配的现有文档标记为删除状态。这意味着在逻辑上该文档已被删除,但物理上它仍然存在于数据结构中。
2. **添加新文档**:接着,新的文档内容会被添加到索引中,分配相同的ID。这实际上创建了一个新的版本,与旧文档并存。
3. **后台清理**:旧的、被标记为删除的文档并不会立即从索引中移除,以确保数据一致性。ES会在后续的索引操作中,特别是在集群有足够空闲资源时,进行后台清理,实际移除这些已删除的文档。
此外,文章还提到了一些其他的ES操作示例:
- **创建文档**:使用`create`命令来创建一个新的文档,如`{"create":{"_index":"test","_type":"type1","_id":"3"}} {"field1":"value3"}`。
- **删除文档**:通过`delete`命令删除指定ID的文档,如`{"delete":{"_index":"test","_type":"type1","_id":"2"}}`。
- **索引文档**:使用`index`命令将文档索引到指定的索引和类型,例如`{"index":{"_index":"crxy","_type":"emp","_id":"21"}} {"name":"test21"}`。
对于JSON对象的生成,文章提到了使用Jackson库。`jackson-databind`是一个Java库,可以方便地将Java对象转换为JSON格式,如`String json = mapper.writeValueAsString(yourBeanInstance);`。
最后,文章简要讨论了ES查询中的DFS概念,DFS可能是Distributed Frequency Scatter的缩写,涉及到分布式环境下查询时的词频和文档频率的处理。在查询之前,ES可能会先收集各分片的词频和文档频率信息,以便于后续的搜索操作。
这篇文章深入浅出地介绍了ES中的文档更新流程,以及其他基本操作,并提及了与JSON序列化和查询优化相关的概念。
2023-12-19 上传
2024-05-08 上传
2023-11-27 上传
2019-05-23 上传
2024-06-19 上传
2021-06-06 上传
2023-06-20 上传
2024-07-06 上传
2020-09-24 上传
小炸毛周黑鸭
- 粉丝: 23
- 资源: 2万+
最新资源
- Material Design 示例:展示Android材料设计的应用
- 农产品供销服务系统设计与实现
- Java实现两个数字相加的基本代码示例
- Delphi代码生成器:模板引擎与数据库实体类
- 三菱PLC控制四台电机启动程序解析
- SSM+Vue智能停车场管理系统的实现与源码分析
- Java帮助系统代码实现与解析
- 开发台:自由职业者专用的MEAN堆栈客户端管理工具
- SSM+Vue房屋租赁系统开发实战(含源码与教程)
- Java实现最大公约数与最小公倍数算法
- 构建模块化AngularJS应用的四边形工具
- SSM+Vue抗疫医疗销售平台源码教程
- 掌握Spring Expression Language及其应用
- 20页可爱卡通手绘儿童旅游相册PPT模板
- JavaWebWidget框架:简化Web应用开发
- 深入探讨Spring Boot框架与其他组件的集成应用