当前位置: 首页 > news >正文

Elasticsearch7.8.0版本进阶——段合并

目录

    • 一、段的概述
      • 1.1、段的概念
      • 1.2、段的缺点
      • 1.3、如何解决段数量暴增问题
    • 二、段合并的流程
    • 三、段合并的注意事项

一、段的概述

1.1、段的概念

  • 每一 段 本身都是一个倒排索引。

1.2、段的缺点

  • 由于自动刷新流程每秒会创建一个新的段 ,这样会导致短时间内的段数量暴增。
  • 每一个段都会消耗文件句柄、内存和 cpu 运行周期;更重要的是,每个搜索请求都必须轮流检查每个段。
  • 所以,段越多,搜索也就越慢。

1.3、如何解决段数量暴增问题

  • Elasticsearch 通过在后台进行段合并来解决这个问题。小的段被合并到大的段,然后这些大的段再被合并到更大的段。
  • 段合并的时候会将那些旧的已删除文档从文件系统中清除。被删除的文档(或被更新文档的
    旧版本)不会被拷贝到新的大段中。
  • 启动段合并不需要你做任何事。进行索引和搜索时会自动进行。

二、段合并的流程

  • 当索引的时候,刷新(refresh)操作会创建新的段并将段打开以供搜索使用。

  • 合并进程选择一小部分大小相似的段,并且在后台将它们合并到更大的段中。这并不会
    中断索引和搜索。

    在这里插入图片描述

  • 一旦合并结束,老的段被删除

    (1)、新的段被刷新(flush)到了磁盘。 ** 写入一个包含新段且排除旧的和较小的段的新提交点。
    (2)、新的段被打开用来搜索。
    (3)、老的段被删除。

    在这里插入图片描述

三、段合并的注意事项

  • 合并大的段需要消耗大量的 I/O 和 CPU 资源,如果任其发展会影响搜索性能。
  • Elasticsearch在默认情况下会对合并流程进行资源限制,所以搜索仍然有足够的资源很好地执行。
http://www.lryc.cn/news/19421.html

相关文章:

  • Java版贪食蛇游戏
  • 2023年度数学建模竞赛汇总
  • 了解Python语言和版本
  • nvm (node版本管理工具)安装的详细步骤,并解决安装过程中遇到的问题
  • 朴素贝叶斯笔记
  • 【GUI】用于电动助力车性能分析的GUI(Matlab代码实现)
  • Android:反编译apk踩坑/apktool/dex2jar/JDGUI
  • React 跨域的配置
  • Elasticsearch7.8.0版本进阶——持久化变更
  • CF Edu 127 A-E vp补题
  • 剑指 Offer 05. 替换空格
  • 通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作
  • Python实现某du文库vip内容下载,保存成PDF
  • vue3.0 模板语法
  • 【GlobalMapper精品教程】054:标签(标注)功能案例详解
  • 超详细树状数组讲解(+例题:动态求连续区间和)
  • 【学习笔记】AGC055
  • 墨者——内部文件上传系统漏洞分析溯源 内部文件上传系统漏洞分析溯源
  • 5.2 Python if语句
  • ubuntu gerrit 配置
  • 运动蓝牙耳机什么牌子好,运动蓝牙耳机品牌推荐
  • (7)C#传智:方法及参数、重载(第7天)
  • Python 函数式编程
  • pandas读取EXCEL列名重复问题解决——pandas设置多行为列名(多层列名)
  • CMake常用语法
  • Java知识复习(一)基础知识
  • springboot+vue.js校园车辆用车预约管理系统
  • 【 K8s 源码之调度学习】Pod 间亲和性和反亲和性的源码分析
  • 计及绿证交易及碳排放的含智能楼宇微网优化调度(Matlab代码实现)
  • 场景扩展,体验升级 | DBMotion新增无公网数据库迁移、支持监控报警等多项功能