一个ES index 包含有多个sharding, sharding 主要用于分布式。 一个sharding里面也可以包含多个segment. es 在indexing 的时候会产生很多的segments。 segments 太多会导致文件句柄浪费严重, 并且搜索性能底下。 ES 自己也会去做merge, 算法和cassandra 的sizeTiered 算法类似(但稍逊一些)。合并后,search 性能有所提升,文件句柄所有下降。
如果你想强制进行一次激烈的compact将每个sharding 里面的indexes 数目都变成1.
POST {index-list}/_optimize?max_num_segments=1
然后可以通过
GET {index-list}/_segments 来确认segment count 的数目。
但如果在merge 的时候还有写入,你也有可能发现还有很多segments, 但那些segment 里面的document 会比较少。
在我自己的一次测试中,compact 之前有150 多个segments, compact 后只有5个, 因为有5个sharding. 文件句柄数从2000+ 降到了114 个。
如果要调整es 的默认compact 参数,可以参考 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-merge.html
目前我自己遇到的情况是:
我们的某些log 每天产生一个index, 大小在30G左右。有些1个月产生一个log, 大小40~50G. 我们会有一个后台程序,每次产生新的log 后就会对老的index 进行全面的compact.
相关推荐
Elasticsearch 是一个分布式搜索引擎,其数据存储方式和管理优化对于高效检索和稳定运行至关重要。在Elasticsearch中,数据存储的基本单位是段(segment),每个段都是一个倒排索引,由Lucene生成。每次数据写入后,...
Elasticsearch面试题涵盖了许多关键知识点,包括倒排索引的概念、大数据量的索引管理和调优策略,以及集群的部署和主节点选举机制。以下是对这些知识点的详细阐述: 1. **倒排索引**: 倒排索引是Elasticsearch的...
Elasticsearch是一个开源的全文搜索引擎,它基于Lucene构建,被广泛用于实时数据分析、日志聚合、搜索引擎等场景。在Linux环境下,Elasticsearch提供了一个高效且可扩展的平台,适用于处理海量数据并进行快速检索。...
ElasticSearch面试题解读 ElasticSearch作为一个功能强大且灵活的搜索引擎,在数据检索和分析领域发挥着重要作用。以下是对ElasticSearch面试题的解读和知识点总结: 1. ElasticSearch集群架构和调优 在Elastic...
Elasticsearch 是一款高度可扩展的全文搜索引擎,广泛应用于数据搜索和分析场景。在实际应用中,优化Elasticsearch的搜索速度是确保高效服务的关键。本文将深入探讨影响Elasticsearch查询性能的因素,并提出一系列...
Elasticsearch 是一款高度分布式、实时的搜索与分析引擎,广泛应用于日志分析、监控、搜索引擎等场景。面试中,了解Elasticsearch的核心概念和技术细节是至关重要的。 1. Elasticsearch 搜索过程: Elasticsearch ...
其中,`bin`目录下的`elasticsearch.bat`脚本用于启动Elasticsearch服务,而`config`目录包含了Elasticsearch的主要配置文件,如`elasticsearch.yml`,这是配置Elasticsearch服务器的基本设置的地方,例如节点名称、...
Elasticsearch 是一款广泛应用于大数据检索与分析的开源搜索引擎,基于 Lucene 底层实现,以其分布式、实时、可扩展的特性备受青睐。面试中,面试官通常会考察面试者对 Elasticsearch 的理解、使用场景、集群架构、...
Elasticsearch 是一款高度可扩展的全文搜索引擎,广泛应用于日志分析、实时监控、数据可视化等领域。面试中,面试官可能会询问关于 Elasticsearch 的各种问题,包括集群架构、索引设计、性能调优以及底层原理等方面...
Elasticsearch 是一个高度分布式、实时的搜索与分析引擎,它是Elastic Stack的核心组件,用于收集、聚合、丰富数据,并支持高效存储和索引。Elasticsearch 能处理各种类型的数据,包括结构化、非结构化文本、数字...
### Elasticsearch 面试题解析 #### 1. Elasticsearch 集群架构与调优手段 - **面试官意图**:了解应聘者在其所在公司的 Elasticsearch 使用情况、遇到的问题及其解决方法,特别是是否有处理大规模数据的经验。 -...
在 Elasticsearch 中,倒排索引是一种特殊的数据结构,用于高效地支持全文搜索。以下是对标题和描述中提到的 Elasticsearch 知识点的详细解释: 1. **节点分片配置**:遵循官方建议,一个节点最好不超过3个分片。这...
Elasticsearch(ES)是一个基于Lucene的分布式搜索和分析引擎,主要特点是开源、高扩展性和实时性。作为Elastic Stack的关键组件,ES利用Java开发并遵循Apache许可,支持多种编程语言,包括Java、.NET、PHP、Python...