ElastiSearch Merger介绍

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
索引
120.【ElastiSearch】(十)
120.【ElastiSearch】
66 1
|
自然语言处理 算法 数据库
120.【ElastiSearch】(四)
120.【ElastiSearch】
62 0
|
JSON Java 数据格式
120.【ElastiSearch】(六)
120.【ElastiSearch】
63 0
|
存储 监控 关系型数据库
120.【ElastiSearch】(三)
120.【ElastiSearch】
104 0
|
SQL JavaScript 数据可视化
120.【ElastiSearch】(二)
120.【ElastiSearch】
63 0
|
自然语言处理 索引
120.【ElastiSearch】(七)
120.【ElastiSearch】
73 0
|
搜索推荐 Java 大数据
120.【ElastiSearch】(一)
120.【ElastiSearch】
73 0
|
NoSQL Java
120.【ElastiSearch】(八)
120.【ElastiSearch】
64 0
|
API 索引
120.【ElastiSearch】(九)
120.【ElastiSearch】
58 0
|
缓存 网络架构 索引
120.【ElastiSearch】(五)
120.【ElastiSearch】
47 0