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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
Oracle 关系型数据库 API
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
|
2月前
|
容灾 流计算
美团 Flink 大作业部署问题之Checkpoint 的 metadata 文件包含什么信息
美团 Flink 大作业部署问题之Checkpoint 的 metadata 文件包含什么信息
|
5月前
|
分布式数据库 Apache 索引
精进Hudi系列|Apache Hudi索引实现分析(四)之基于Tree的IndexFileFilter
精进Hudi系列|Apache Hudi索引实现分析(四)之基于Tree的IndexFileFilter
60 0
|
5月前
|
对象存储
milvus的compaction分析(小文件合并大文件)
milvus的compaction分析(小文件合并大文件)
1006 0
|
存储 分布式计算 运维
Flink 遇见 Apache Celeborn:统一的数据 Shuffle 服务
最新发布的 0.3.0 版本新增对 Flink 批作业 Shuffle 的支持,从此 Flink、Spark 可以同时使用统一的数据 Shuffle 服务,更大程度节省资源、降低运维成本。
6098 10
Flink 遇见 Apache Celeborn:统一的数据 Shuffle 服务
白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
83 0
|
消息中间件 存储 分布式计算
5万字Spark全集之末尾Structured Streaming续集!!!!!(二)
5万字Spark全集之末尾Structured Streaming续集!!!!!
185 0
5万字Spark全集之末尾Structured Streaming续集!!!!!(二)
|
SQL 消息中间件 分布式计算
5万字Spark全集之末尾Structured Streaming续集!!!!!(一)
5万字Spark全集之末尾Structured Streaming续集!!!!!
152 0
5万字Spark全集之末尾Structured Streaming续集!!!!!(一)
|
NoSQL 索引 内存技术
RocksDB 优化小解(一):Indexing SST
RocksDB 优化小解(一):Indexing SST
341 0
RocksDB 优化小解(一):Indexing SST
|
分布式计算 资源调度 Hadoop
通过SequenceFile实现合并小文件(调优技能)
通过SequenceFile实现合并小文件(调优技能)
250 0
通过SequenceFile实现合并小文件(调优技能)
下一篇
无影云桌面