热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Elasticsearch索引远大于它索引的日志的实际大小?

如何解决《Elasticsearch索引远大于它索引的日志的实际大小?》经验,为你挑选了1个好方法。

我注意到,弹性搜索过夜消耗了超过30GB的磁盘空间.相比之下,我想要索引的所有日志的总大小只有5 GB ......好吧,甚至不是真的,可能更像是2.5-3GB.这有什么理由,有没有办法重新配置它?我正在运行ELK堆栈.



1> Nick Zadrozn..:

Elasticsearch内部数据远大于源数据的原因有很多.一般来说,Logstash和Lucene都在努力为那些相对非结构化的数据添加结构.这带来了一些开销.

如果您使用的是3 GB的源并且索引数据为30 GB,那么这是源数据的10倍左右.这很重要,但不一定闻所未闻.如果您在该测量中包含副本的大小,那么30 GB可能是完全合理的.根据我自己的经验和直觉,我可能会期望相对于源数据的3-5x范围内的某些内容,具体取决于数据类型以及您在Elasticsearch中使用的存储和分析设置.

在尝试减少Elasticsearch索引时,您可以尝试以下四种不同的设置.

_source

Elasticsearch保留每个传入文档的原始原始JSON的副本.如果您想要重建索引的原始内容,或者在搜索结果中匹配突出显示,它会很有用,但肯定会增加.您可能希望创建一个索引模板,用于禁用_source索引映射中的字段.

禁用该_source字段可能是磁盘使用量的最大改进.

文档:Elasticsearch _source字段

个别存储的字段

同样但与_source字段分开,您可以控制是否在每个字段的基础上存储字段的值.非常简单,并在映射文档中提到了几次核心类型.

如果您想要一个非常小的索引,那么您应该只存储您在搜索响应中返回的最小字段.这可能只是与主数据存储相关联的文档ID.

文档:核心类型的Elasticsearch映射

_all

有时您希望找到与给定术语匹配的文档,并且您并不真正关心该术语出现在哪个字段中.对于这种情况,Elasticsearch有一个特殊_all字段,在其中推送文档中所有字段中的所有字词.

这很方便,但如果您的搜索针对特定字段,并且您不想在索引中的任何地方松散地匹配任何内容,那么您可以不使用该_all字段.

文档:Elasticsearch _all字段

分析一般

这又回到了Lucene的主题,为您的非结构化数据添加了结构.您打算搜索的任何字段都需要进行分析.这是将一小块非结构化文本分解为标记,分析每个标记以将其标准化或将其扩展为多种形式的过程.这些令牌被插入到字典中,并且还保持术语与它们出现的文档(和字段)之间的映射.

这一切都需要空间,对于某些领域,您可能无需分析它们.跳过分析还可以在索引时节省一些CPU时间.某些类型的分析可以真正夸大你的总条款,例如使用具有自由设置的n-gram分析器,这会将原始术语分解为许多较小的术语.

文档:分析和分析器简介

更多阅读

Peter Kim最近写了一篇关于这个主题的文章:硬件规模或"我真的需要多少台服务器?"


推荐阅读
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 构建Filebeat-Kafka-Logstash-ElasticSearch-Kibana日志收集体系
    本文介绍了如何使用Filebeat、Kafka、Logstash、ElasticSearch和Kibana构建一个高效、可扩展的日志收集与分析系统。各组件分别承担不同的职责,确保日志数据能够被有效收集、处理、存储及可视化。 ... [详细]
  • 本文介绍了Elasticsearch (ES),这是一个基于Java开发的开源全文搜索引擎。ES通过JSON接口提供服务,支持分布式集群管理和索引功能,特别适合大规模数据的快速搜索与分析。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • Elasticsearch排序机制详解
    本文深入探讨了Elasticsearch中的排序功能,包括相关性排序、字段值排序、多级排序及字符串和多值字段的排序策略,旨在帮助读者更好地理解和优化搜索结果。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 简短的问题是:是否可以从远程服务器中提取日志(在日志文件中)并将其提取到 ... [详细]
  • Flume 数据采集组件
    目录1、数据收集工具系统产生背景2、专业的数据收集工具2.1、Chukwa2.2、Scribe2.3、Fluentd2.4、Logstash2.5、ApacheFlu ... [详细]
  •                               前言日志,一直以来都是开发人员和运维人员最关心的问题。开发人员可通过日志记录来协助问题定位,运维人员可通过日志发现系统隐 ... [详细]
  • ELK+filebeat安装部署监控springboot日志
    ELK服务器端部署1.安装dockercompose,略2.配置docker-compose.ymlcdrootelkvidocker-compose.ymlversion:&am ... [详细]
author-avatar
通贯戬_461
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有