ElastiSearch Merger介绍

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: ElastiSearch Merger介绍

根据ES的写入原理分析,默认每秒从memory buffer里面搬运数据到filesystem cache,生产一个segments段,由后台程序定期分梯队进行合并(该部分原理还没深入研究),不过从查看到的segments数量,大小来看,默认的合并效果并不好,会出现很多小segments没有合并。根据操作系统的原理,一个索引打开太多的文件,势必会影响性能,ES也开放了相应的接口给用户对这些segments经行手动合并。

下面介绍一下forcemerge相关命令

执行合并segment

计算规则(参考):按照每个segment 5GB 来评估 max_num_segments,根据实际情况,比如 index最大的分片5gb,max_num_segments就是1.

max_num_segments取值为:max_num_segments =(单个索引的大小G/分片数/5G)

建议每天业务低峰进行一次

POST indexname/_forcemerge?max_num_segments=1

参数说明:

参数 说明
max_num_segments 合并到的段数。要完全合并索引,请将其设置为1。默认值是简单地检查是否需要执行合并,如果需要,则执行合并。
only_expunge_deletes 合并过程应该只删除其中有删除的段。在Lucene中,不会从段中删除文档,而只是将其标记为已删除。在段的合并过程中,将创建一个没有这些删除的新段。此标志仅允许合并具有删除的段。默认为false。请注意,这不会超过 index.merge.policy.expunge_deletes_allowed阈值。
flush 强制合并后是否应该执行刷新。默认为 true。

查看每台机器执行merge线程数

GET _cat/thread_pool/force_merge?v&s=name

查看哪些index在merge

GET /_cat/indices/?s=segmentsCount:desc&v&h=index,segmentsCount,segmentsMemory,memoryTotal,mergesCurrent,mergesCurrentDocs,storeSize,p,r

image-20220927102918000

使用task api 查看force merge

GET _tasks?detailed=true&actions=*forcemerge

查看segment

GET _cat/segments?v&h=shard,segment,size.memory

查看索引大小

GET _cat/indices/ads_user_profile?v
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
存储 缓存 自然语言处理
Elasticsearch 内存占用分析及 page cache 监控
Elasticsearch 内存占用相关知识,以及对 lucene 文件的 page cache 进行监控
4209 6
|
Ubuntu
Ubuntu右上角找不到图标或者不显示已建的链接
Ubuntu右上角找不到图标或者不显示已建的链接
161 1
|
安全 Java 测试技术
婚恋交友网站 毕业设计 JAVA+Vue+SpringBoot+MySQL(一)
婚恋交友网站 毕业设计 JAVA+Vue+SpringBoot+MySQL
520 0
|
12月前
|
前端开发 JavaScript 测试技术
如何制作网页
创建自己的网站涉及多个步骤,从确定主题到最终测试和发布。本文详细介绍了每个步骤:首先明确网站目的和受众;其次设计直观易用的布局;选择符合主题的颜色和字体;撰写清晰简洁的内容;优化加载速度;全面测试功能和兼容性;选择托管服务并注册域名;最后通过SEO、社交媒体和广告进行推广。注意事项包括关注用户体验、学习基本编码知识,并考虑网站的扩展性和可维护性。遵循这些步骤,你将能创建一个美观且实用的网站。
|
9月前
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
354 7
|
人工智能 自然语言处理 搜索推荐
阿里云Elasticsearch AI搜索实践
本文介绍了阿里云 Elasticsearch 在AI 搜索方面的技术实践与探索。
19718 21
|
存储 数据库
elasticsearch 主键生成策略以及如何指定特定字段为id主键列
elasticsearch 主键生成策略以及如何指定特定字段为id主键列
1147 0
|
存储 缓存 安全