Elasticsearch索引的基本操作(9)-索引的强制合并

@Elasticsearch之深度应用及原理剖析--索引文档存储段合并机制 索引文档存储段合并机制 段合并的时候会将那些旧的已删除文档从文件系统中清除(由于自动刷新每秒会创建一个新的段 ,这样会导致短时间内的段数量暴增。而段数目太多会带来较大的麻烦。 每一个段都会消耗文件句柄、内存和 CPU 运行周期。更重要的是,每个搜索请求都必须轮流检查每个段;所以段越多,搜索也就越慢) Es 通过在后台进行段合并来解决这个问题。小的段被合并到大的段,大的段再被合并到更大的段。 阅读详情

强制合并的功能为强制合并一个或多个索引,目的是通过索引合并达到减少段的数量,通过POST方法执行_forcemerge API。

强制合并请求在没有执行完成之前,请求会一直被阻塞,直到执行完成才会返回,如果期间该HTTP请求由于网络或者其它原因被断开,合并请求将继续在后台执行,直到完成或发生异常结束。如果已经有强制合并正在执行,后续发起的强制合并请求将被会阻塞,直到当前正在执行的合并请求执行完后才执行。

强制合并应该只针对只读索引执行,因为针对可写的索引执行强制合并,可能会导致非常大的段文件生成(每段大于5Gb),且后续的合并策略会自动忽略这样的大文件,由于这些文件后续不能够执行合并操作,可能导致该文件中都是被删除了的文档,最终导演当前分片中存在非常大的段文件。

强制合并可以操作单个索引,也可以操作多个索引,多个索引之间以英文逗号“,”分隔,也可以操作所有索引。

强制合并单个索引,操作如下:

POST /new_index/_forcemerge

{}

强制合并多个索引,操作如下:

POST /new_index,new_index_2/_forcemerge

{}

强制合并全部索引,操作如下:

POST /_forcemerge

{}

 

响应如下:

{

  "_shards" : {

    "total" : 3,

    "successful" : 3,

    "failed" : 0

  }

}

响应显示待处理的总分片数为3个,成功处理3个,失败为0个。

上面的示例都没有带参数,强制合并API可以接收一些参数,用于调整其行为。

强制合并的参数

参数名称

说明

max_num_segments

设置需要合并的段数。如果需要整个索引完全合并,则将该值设置为1。默认情况下会检查合并操作是否需要执行,如果需要才执行,否则就不执行。

only_expunge_deletes

合并过程是否仅操作哪些包含了被删除文档的段,将这些段中未标识为删除的内容放到一个新创建的段中,然后将这些包含了被删除文档的段全部删除。

注:这不会覆盖index.merge.policy.expunge_deletes_allowed阈值。

flush

是否应在强制合并后执行刷新,默认为true。

 

Elasticsearch基本操作:索引、文档、搜索 1、索引 在Elasticsearch 中开始为数据建立索引之前要做的第一步操作是创建——我们的数据主要容器。这里的索引类似于 SQL 中的数据库概念。它是类型(相当于 SQL 中的表)和文档(相当于 SQL 中的记录)的容器。 存储数据的行为叫作索引。在Elasticsearch 中,文档会归属于一种类型,这些类型会存在于索引中。 Elasticsearch 集群和数据库中核心概念的对应关系如下: Elasticsearch 集群 关系型数据库 索引 数据库 类型 表.. 阅读详情

相关推荐

【Elasticsearch】索引 强制合并 缓存 refresh flush 等操作

1.概述 1.1 索引强制合并 强制合并的功能为强制合并一个或多个索引,目的是通过索引合并达到减少段的数量,通过POST方法执行_forcemerge API。 强制合并请求在没有执行完成之前,请求会一直被阻塞,直到执行完成才会返回,如果期间该HTTP请求由于网络或者其它原因被断开,合并请求将继续在后台执行,直到完成或发生异常结束。如果已经有强制合并正在执行,后续发起的强制合并请求将被会阻塞,直到当前正在执行的合并请求执行完后才执行。 强制合并应该只针对只读索引执行,因为针对可写的索引执行强制合并,可能会.

九师兄 1416

Elasticsearch 强制分段合并forceMerge操作

不不经常操作的elasticsearch索引进行段合并,优化搜索性能

csgarten的博客 2031

Elasticsearch的segment合并原理

默认情况下,elasticsearch中每个shard每隔1秒都会refresh一次,每次refresh都会生成一个新的segment,按照这个速度过不了多久segment的数量就会爆炸,所以存在太多的segment是一个大问题,因为每一个segment都会占用文件句柄,内存资源,cpu资源,更加重要的是每一个搜索请求都必须访问每一个segment,这就意味着存在的segment越多,搜索请求就会变的更慢。 那么elaticsearch是如何解决这个问题呢? 实际上elasticsearch有一个后台进程专

yonggeit的博客 4093

ElasticSearch的segment段合并原理

Elasticsearch索引(elasticsearch index)由一个或者若干分片(shard)组成,分片(shard)通过副本(replica)来实现高可用。一个分片(share)其实就是一个Lucene索引(lucene index),一个Lucene索引(lucene index)又由一个或者若干段(segment)组成。所以,当我们查询一个Elasticsearch索引时,查询会在所有分片上执行,既而到段(segment),然后合并所有结果。

东境物语 2334

Windows/Mac/Linux三系统保姆级教程:用llama.cpp将safetensors模型转gguf格式(附常见错误解决)

本文提供Windows、Mac和Linux系统下使用llama.cpp将safetensors模型转换为gguf格式的详细教程,涵盖环境配置、转换原理及常见错误解决方案。通过跨平台兼容性处理,帮助开发者高效完成模型格式转换,优化边缘计算性能。

weixin_29227425的博客 270

无刷电机控制避坑指南:六步换向 vs FOC的5个关键差异

本文深入对比了无刷电机控制中六步换向与FOC(磁场定向控制)的五大核心差异。从控制逻辑、性能表现、效率能耗、硬件成本到应用场景,详细解析了FOC如何通过矢量合成实现平滑的正弦波控制与更高效率,而六步换向则以低成本实现简单开关驱动。旨在帮助工程师根据项目需求,在性能、成本与复杂度间做出最佳选择。

weixin_29216957的博客 506

es的索引合并

ES 如何才能让数据更快的被检索使用。一句话概括了 Lucene 的设计思路就是"开新文件"。从另一个方面看,开新文件也会给服务器带来负载压力。因为默认每 1 秒,都会有一个新文件产生,每个文件都需要有文件句柄,内存,CPU 使用等各种资源。一天有 86400 秒,设想一下,每次请求要扫描一遍 86400 个文件,这个响应性能绝对好不了! 为了解决这个问题,ES 会不断在后台运行任务,主动将

duanduanpeng的专栏 1万+

Android Settings 设置Preference置灰显示

使Preference置灰显示,不能点击。先调用Preference的setEnabled(false),再调用setShouldDisableView(true); 如果使置灰项恢复正常可点击,可调用setEnabled(true)。

随风而动 1048

【es】强制合并

一个ES索引可以有1到多个主分片,每个主分片是一个lucene 索引,一个lucene索引又包含。段的强制合并通常比较耗时,它会自动在后台进行,必要时手动触发段强制合并也是有意义的。当删除索引文档时,数据不会彻底从磁盘上删除,计算机只会对删除的文档做一个。而强制合并索引段时,会把分片内部很多零碎的小段合并成大段并去除被删除。的文档,这样做的好处是每个分片中段会减少并腾出删除文档占据的空间。

weixin_43346403的博客 381

zynq的vitis工程烧录到Winbond(华邦)型号W25Q256JVEQ的QSPI FLAHS

vitis2023.1直接支持W25Q256JVEQ。

FPGA艺术家的博客 674

手把手入门YOLO到改进优化教程 | 【P1基础篇】YOLOv8网络架构原理

本节先来学习基础知识,以YOLOv8进行讲解入门, 拿YOLOv8入手掌握YOLO的底层逻辑 ,也可以基于此来轻松学习后面更新的YOLO系列 (大部分YOLO版本的核心思想一致,更新是基于旧版本做结构升级、优化策略,学习成本会越来越低)。

嵌入式阿齐Archie 2万+

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

一、segment文件的合并流程: 当我们往 ElasticSearch 写入数据时,数据是先写入 memory buffer,然后定时(默认每隔1s)将 memory buffer 中的数据写入一个新的 segment 文件中,并进入 Filesystem cache(同时清空 memory buffer),这个过程就叫做 refresh;每个 Segment 事实上是一些倒排索引的集合, 只有经历了 refresh 操作之后,数据才能变成可检索的。 ElasticSearch 每次 refresh

张维鹏的博客 2万+

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

飞书链接:https://ecn6838atsup.feishu.cn/wiki/EhRtwBe1CiqlSEkHGUwc5AP9nQe?购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。函数中添加BiFPN的解析逻辑(找到。链接可用,不要多复制空格了。密码:946m22&8。

FJN110的博客 306

es强制段合并实验

由于集群的磁盘空间限制,我们删除了超过10亿的数据,但是发现删除后,磁盘的可使用空间并有快速上升。当发生merge时,才会物理意义上的删除。所以默认情况下的,强制合并能大幅度降低磁盘占用率,deleted占比越高,降低的占用率幅度就越大。耗时约1.1天后,合并完成,磁盘使用由40TB降至22TB,释放了18TB空间。强制合并会导致>=5GB的段,不太清楚一个段的大小达到100GB后,会导致什么结果。进行控制,默认是10.0,代表如果一个分片deleted/total超过10%,则会对该分片进行合并操作。

大叶子不小的博客 1884

FPGA/IC 秋招笔试/面试题总结(续)

FPGA/IC 秋招笔试/面试题总结(续)来啦… 文章目录二十七、状态机1. Moore/Mealy状态机2.一、二、三段式状态机 二十七、状态机 1. Moore/Mealy状态机 (1)Moore状态机: 输出只由当前状态决定,即次态=f(现态。输入),输出=f(现态) Moore型状态机的输出信号是直接由状态寄存器译码得到的。 Moore型状态机检测序列1101如下 Moore型状态机输出函数只由状态变量决定,想要输出Z=1,必须S4状态形成,即寄存器中的1101都打进去后才可以。输出Z=1会在

Crazzy_M的博客 2万+

《派出你的AI同事:WorkBuddy案例实战》067:按行业分类的案例索引

按行业分类的案例索引 —— 《派出你的AI同事:WorkBuddy案例实战》系列文章,配图已统一为规范示意图。

LuckyHanMo的博客 96

Elasticsearch索引的基本操作(8)-索引缓存、refresh、flush等操作

1、缓存清理 通过缓存清理的API _cache/clear,需要使用POST方法执行,可以清理指定索引或整个集群的缓存。 清除单个索引的缓存,操作如下: POST /new_index/_cache/clear {} 清除多个索引的缓存,操作如下: POST /new_index,new_index_2/_cache/clear {} ...

冯立彬的博客 8680

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Elasticsearch - Elasticsearch 索引合并(Merge) 原理与优化

虽然 TieredMergePolicy 覆盖大多数场景,但特殊需求可能需要自定义。Elasticsearch 的索引合并机制,是其高性能与高可靠性的基石之一。预判性能瓶颈;主动优化存储与查询;设计更合理的索引生命周期。段不可变 → 必须 Merge;自动 Merge 足够智能,但需监控;force merge 是利器,也是双刃剑;调优核心:平衡写入、搜索、资源消耗;只读索引务必 force merge。下次当你看到磁盘空间不释放、搜索变慢时,不妨先查一查_segments。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

初识Elasticsearch——ES索引管理

本文全面介绍了Elasticsearch索引管理的核心概念和操作指南。主要内容包括:索引基础概念(分片、副本、字段类型)、索引创建/删除/查看操作、静态与动态Mapping管理、索引模板和别名应用、生命周期管理策略、索引优化技巧(强制合并、重建索引)、分片规划与副本设置、监控维护方法以及最佳实践建议。文章强调合理规划分片数量、设计Mapping结构、实施生命周期管理对提升Elasticsearch性能、可靠性和可维护性的重要性,为运维人员提供了完整的索引管理参考方案。

qq_45266928的博客 573

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

聊一聊Elasticsearch的索引(2)

对索引状态的管理,索引的块进行介绍

cab5的博客 1629

关于 Elasticsearch 段合并,这一篇说透了!

0、事出有因 您好,目前我需要将只读索引segment合并,有几个问题想要求教1、 segment是不是合并到一个最好,及max_num_segments=12、合并的时候,通过POST...

铭毅天下Elasticsearch 9452
上一篇: Async-profiler介绍
下一篇: 基于Sentinel的高可用限流系统HASentinel设计及实现
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值