elasticsearch - 更新在 Elasticsearch 中是如何工作的?
问题描述
我在更新时遇到了一个优化问题:我需要了解 Elasticsearch 更新机制如何在低级别视图中处理他们的文档。
Elasticsearch 是否确实将先前的记录标记为已删除,而没有物理删除它,然后将其重写为新记录,从而浪费了不必要的空间?
解决方案
是的,ES 在底层使用了 Lucene。
所以更新过程如下高层
- 插入操作
- 标记较旧的删除 - 软删除
- 当 Lucene 合并段时。它实际上删除了标记的文档,即墓碑。
在高层次上, crud在 ES 中是如何工作的。
推荐阅读
- python - 当我已经尝试了很多参数组合时,我无法使用请求 POST 登录
- python - flask-restplus fields.Nested() 与原始字典(不是模型)
- javascript - 我在第二个循环中的旋转无法进入动画 webgl 中的缩放功能
- apache-spark - 有没有办法使用 Spark 使用 TLS 在 FTP 中加载文件
- ios - swiftui onDelete 对 sortedData 不起作用
- reactjs - 如何在第一次渲染时获取道具
- r - 从 dplyr 中选择的几个和有条件的管道中仅将一个参数传递给函数
- php - 将 Python 变量打印到 PHP 页面
- c++ - Metatrader 5 向导无法识别我的自定义交易信号模块
- java - Apache POI - 处理空字段