SOLR 索引尺寸减小

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

如果您可以发布您的schema.xml 和一些示例文档,将会有所帮助。 【参考方案1】:

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

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

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

【讨论】:

谢谢 - 这些“数量级”有什么不同吗?从外观上看,它们似乎只能改变一小部分......我们需要大量减少(而且我们没有做任何疯狂的事情,比如巨大的文本索引......大多数字段都很小......但我们只是有很多)。 省略规范和位置可以节省大量空间,尤其是索引的大小。看看这篇文章:css.dzone.com/news/solr-index-size-analysis +1 我还要补充一点,术语向量会占用大量空间,如果您有很多段,那么进行一些合并可以帮助在段之间共享数据

以上是关于SOLR 索引尺寸减小的主要内容,如果未能解决你的问题,请参考以下文章

solr索引基本原理

如何使用Solr索引MySql数据库

solr索引基本原理

将 solr 1.4 索引升级到 solr 3.3?

如何在solr中获取lucene索引的版本

solr实现MySQL数据全量索引和增量索引