elasticsearch重新索引文档减少可用空间

标签 elasticsearch chewy-gem elasticsearch-ruby

步骤: - Elasticsearch 2.3 - 在 ES 中创建文档 => 使用 ~ 1 GB 磁盘 - 在 ES 中更新相同文档 => 使用 ~ 2 GB 磁盘

为什么会发生这种情况? 是由于版本控制吗? 是否可以避免磁盘使用量增加一倍?

目前我们使用forcemerge ( https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html ),但需要几个小时。

最佳答案

当你在ES中索引一个已经存在的文档时,ES会将之前的文档标记为已删除(但不会立即将其从索引中删除),并索引新文档。

实际上,如果您的文档大小为 1K,那么一旦您对文档的新版本重新建立索引,第一个文档占用的空间将不会立即回收。因此,文档的第一个“版本”占用 1K,文档的第二个“版本”又占用 1K。删除已删除文档的唯一方法是调用您所发现的强制合并 API,或者等待片段在后台自动合并。您实际上不必担心这个过程。

关于elasticsearch重新索引文档减少可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586451/

相关文章:

ruby-on-rails-4 - 嵌套排序无法按预期工作 ElasticSearch

ruby-on-rails - 使用耐嚼的 gem 无法突出显示关系的搜索结果

ruby-on-rails - 如何为耐嚼的查询找到相应的ES查询?

mongodb - 显示某些数据时出现kibana错误

elasticsearch - 在Elasticsearch中将一个索引换成另一个索引

ruby-on-rails - 从搜索结果链接到Model元素(耐嚼,Rails)

ruby-on-rails - Elastic Search在Rails中不显示数据

c# - 将 NEST (Elasticsearch) 搜索结果转换为数据集 - C#

amazon-web-services - CloudWatch 警报 : how to describe the alarm with metrics by ElasticSearch node, 的 AWS CloudFormation 模板不是整个 ElasticSearch 集群