千家信息网

如何进行Elasticsearch的Refresh与Flush操作

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇文章给大家分享的是有关如何进行Elasticsearch的Refresh与Flush操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧
千家信息网最后更新 2025年11月07日如何进行Elasticsearch的Refresh与Flush操作

本篇文章给大家分享的是有关如何进行Elasticsearch的Refresh与Flush操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

初次接触到这两个概念,估计都会觉得他们没什么差别,都是为了在操作索引之后让索引可以被实时性的搜索,不过它们还是有点不同的。
Elasticsearch底层依赖Lucene,这里我们介绍下Lucene的segment, Reopen,commit。
Segment
在ES中,基本的存储单元是shard(分片),但是在更底层的Lucene上稍微有点不同,ES的每一个shard是Lucene的一个index(索引),Lucene的索引由多个segment组成,每个segment就是ES文档的倒序索引,里面包含了一些term(词)的mapping(映射)。

当每个ES的文档创建的时候,都会写入一个新的segment中,因此每次写入的都是新的segment,所以不需要修改之前的segment。在删除文档的时候,只是在它属于的segment哪里标记为已删除就可,没有真正的从磁盘中抹除。更新也是同样的,只是在对应之前segment哪里标记为逻辑删除,然后新建一个新的segment。
Lucene Reopen
Reopen是为了让数据可以可以被搜索到,尽管这个时候数据可以被搜索到,但是不一定保证数据已经被持久化到磁盘中。
Lucene Commit
Commit就是为了让数据持久化,每一次的Commit,不同segment的数据都会被持久化到磁盘中,虽然这样可以让数据更安全,但是每一次操作都会消耗系统资源,会有大量的IO操作。
Translog
ES在持久化的时候引入了一种新的方式,translog(transaction log),一个文档被索引之后,就会被添加到内存缓冲区,并且 追加到了translog.

ES的Refresh

默认情况下,ES会每秒refresh一次,每次操作都会把内存缓冲区的内容拷贝到新创建的segment中去,这一步是在内存中操作的,这个时候新的文档就会被搜索了。也就是说ES是近实时性的搜索,差不多1s钟,才能让数据可以被搜索到。

ES的Flush

Flush操作意味着,所有在内存缓冲区的文档被写到新的Lucene Segment中,也就是所有在内存中的segment被提交到了磁盘,同时清除translog。

一般Flush的时间间隔会比较久,默认30分钟,或者当translog达到了一定的大小,也会触发flush操作。

最后

简单来说,ES的refresh操作是为了让最新的数据可以立即被搜索到。而flush操作则是为了让数据持久化到磁盘中,另外ES的搜索是在内存中处理的,因此Flush操作不影响数据能否被搜索到。
translog一般在进行flush的时候被清空,一般在fsync和commit的时候被持久化到磁盘,默认的translog是在6.x版本以后,每次请求都会fsync到磁盘。不过有些index.translog的配置可以设置

以上就是如何进行Elasticsearch的Refresh与Flush操作,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

数据 搜索 时候 磁盘 内存 文档 索引 是在 不同 就是 缓冲区 缓冲 也就是 只是 实时 实时性 底层 更多 标记 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 寒假网络安全是什么意思 数据库最大表行数据类型 软件开发项目实施计划图 上海惠普服务器虚拟化价格 网络安全周黑板报内容 教学网络安全视频 生死狙击2服务器什么时候开 跨平台跨数据库的面向对象 什么叫多维数据库 穿越火线服务器停止时间 cf回归服务器啥意思 怎样将本地文件导入数据库 数据库城市名称 达梦数据库查询历史执行记录 重要服务器操作权限管理制度 服务器 显示器 高端笔记本电脑软件开发 网络安全责任整改方案怎样写 头条软件开发领域创作者 华为查找设备服务器 美食通食通天数据库安装 张某是某知名软件开发部 项目管理对软件开发意义 计算机三级网络技术值得考吗 增城区质量网络技术开发动态 设计软件开发的作用 汪峰在吧scp数据库 网络安全界面无法切换输入法 中控软件连不上数据库 地平线零之曙光服务器搭配
0