【问题标题】:SOLR index size reductionSOLR 索引尺寸减小
【发布时间】:2012-04-22 06:41:41
【问题描述】:

对于一个大型项目,我们有一些海量的 SOLR 索引,它占用了 50 GB 以上的空间。

我们已经考虑了几种减小与更改索引中的内容相关的大小的方法,但我很好奇我们是否可以对 SOLR 索引进行任何更改,从而将其大小减小 2数量级或更多,这与(1)我们可以运行的维护命令或(2)可能设置不正确的简单配置参数直接相关。

另一个相关问题是 (3) 有没有办法在 SOLR 内部用索引大小换取性能,如果有,它会如何工作?

对此的任何想法将不胜感激......谢谢!

【问题讨论】:

  • 如果您可以发布您的schema.xml 和一些示例文档,将会有所帮助。

标签: optimization memory solr indexing


【解决方案1】:

您可以做几件事来用性能换取索引大小。例如,整数 (int) 字段使用的空间比 trie 整数 (tint) 少,但使用 int 时范围查询会更慢。

要大幅减少索引,您几乎肯定需要更仔细地查看您正在使用的字段。

  • 您是否使用了很多存储字段?如果是这样,请尝试从索引中删除存储的字段,并在从 Solr 获得结果后查询数据库以获取必要的数据。
  • 在不需要长度规范化的文本字段中添加 omitNorms="true"
  • 在不需要词组匹配的文本字段中添加 omitPositions="true"
  • NGrams 等特殊字段会占用大量空间
  • 您是否要从文本字段中删除停用词?

【讨论】:

  • 谢谢 - 这些“数量级”有什么不同吗?从外观上看,它们似乎只能改变一小部分......我们需要大量减少(而且我们没有做任何疯狂的事情,比如巨大的文本索引......大多数字段都很小......但我们只是有很多)。
  • 省略规范和位置可以节省大量空间,尤其是索引的大小。看看这篇文章:css.dzone.com/news/solr-index-size-analysis
  • +1 我还要补充一点,术语向量会占用大量空间,如果您有很多段,那么进行一些合并可以帮助在段之间共享数据
猜你喜欢
  • 2021-11-25
  • 2012-10-05
  • 2018-01-30
  • 2021-10-09
  • 2015-01-27
  • 2020-01-24
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多