分析&回答


通过每隔一秒的自动刷新机制会创建一个新的segment,用不了多久就会有很多的segment。segment会消耗系统的文件句柄,内存,CPU时钟。最重要的是,每一次请求都会依次检查所有的segment。segment越多,检索就会越慢。

ES通过在后台merge这些segment的方式解决这个问题。小的segment merge到大的,大的merge到更大的。这个过程也是那些被”删除”的文档真正被清除出文件系统的过程,因为被标记为删除的文档不会被拷贝到大的segment中。

合并过程如下:

  1. 当在建立索引过程中,refresh进程会创建新的segments然后打开他们以供索引。
  2. merge进程会选择一些小的segments然后merge到一个大的segment中。这个过程不会打断检索和创建索引。
  3. 一旦merge完成,旧的segments将被删除
    • 新的segment被flush到磁盘
    • 一个新的提交点被写入,包括新的segment,排除旧的小的segments
    • 新的segment打开以供索引
    • 旧的segments被删除
      merge大的segments会消耗大量的I/O和CPU,严重影响索引性能。默认,ES会节制merge过程来给留下足够多的系统资源。

为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!

为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!

说说Elasticsearch Segment合并相关推荐

  1. 23-windows下filebeat与logstash与elasticSearch的合并使用

    简介:windows下filebeat与logstash与elasticSearch的合并使用 filebeat 收集运送日志 logstash 过滤整合日志 elasticSearch存储日志 1. ...

  2. Elasticsearch搜索引擎:ES的segment段合并原理

    在讲 segment 之前,我们先用一张图了解下 ES 的整体存储架构图,方便后面内容的理解: 一.segment文件的合并流程: 当我们往 ElasticSearch 写入数据时,数据是先写入 me ...

  3. Elasticsearch 的 Shard 和 Segment

    Shard(分片)       一个Shard就是一个Lucene实例,是一个完整的搜索引擎.一个索引可以只包含一个Shard,只是一般情况下会用多个分片,可以拆分索引到不同的节点上,分担索引压力. ...

  4. Elasticsearch 之 commit point | Segment | refresh | flush 索引分片内部原理

    转载自: http://www.6aiq.com/article/1539308290695 基本概念 Segments in Lucene 众所周知,Elasticsearch 存储的基本单元是sh ...

  5. 2021年大数据ELK(十一):Elasticsearch架构原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch架构原理 一.Elasticsearch的节点类型 ...

  6. 图解ElasticSearch 搜索原理

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.cnblogs.com/ri ...

  7. ElasticSearch的基本概念和集群分布式底层实现

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:张勇 http://tech.dianwoda.com/ 深 ...

  8. 初识 ElasticSearch,一个上天下地的搜索引擎 No.158

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 我想跟大家先讲这么一个故事.在2017年,我有幸参与到Elasti ...

  9. ElasticSearch性能优化策略【转】

    ElasticSearch性能优化主要分为4个方面的优化. 一.服务器部署 二.服务器配置 三.数据结构优化 四.运行期优化 一.服务器部署 1.增加1-2台服务器,用于负载均衡节点 elasticS ...

最新文章

  1. 老板说我最近飘了,都敢用 MySQL 实现分布式锁了
  2. 最新版本的Silverlight Tools For Silverlight 2 RTW正式版
  3. ANSYS Products 19.1 安装教程
  4. Oracle 原理: 集合数组,集合属性,is table of 用法,bulk collect into,IS RECORD用法
  5. python实现排序算法_python实现·十大排序算法之插入排序(Insertion Sort)
  6. SQL 2005 全文索引
  7. django-反向查询-后端反向-前端反向
  8. Stanley-系列三
  9. Jenkins Kubernetes 如何协同工作
  10. 使用Sysmon分析宏病毒(Macros Downloader)
  11. 屏蔽节点的鼠标点击选择文字的方法
  12. Get请求参数中文乱码问题整理
  13. 用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)
  14. OMRON_PLC_CP1H_HostLink通讯协议解析
  15. Word2013自动生成中英文目录
  16. android 来电播放铃声,android 播放来电铃声
  17. 简报 | 阿里与腾讯在区块链领域必有一战
  18. mongo报socket exception raised
  19. vs添加监视快捷键_询问操作方法:监视Android移动设备使用情况,Windows键盘快捷键和修复损坏的照片...
  20. jQuery的promise异步模式

热门文章

  1. 基于ssm应届毕业生在线职位管理平台
  2. 人生是一个不断觉悟的过程,成功是一种感悟。
  3. 使用fiddler实现苹果ios手机抓包--的补充
  4. C和C++算法完整教程专栏完整目录
  5. 京东快报轮播公告的实现
  6. 10本值得一读的书籍,精神营养
  7. JAVA异常中的坑--trytry-catch-finally的执行顺序
  8. 视神经面积统计 matlab,用MATLAB定量视网膜神经节细胞
  9. 这,不是我想要的生活
  10. 新版药品目录即将出炉 儿童药研发驶入快车道