Optimization SOLR索引大小缩减

Optimization SOLR索引大小缩减,optimization,memory,solr,indexing,Optimization,Memory,Solr,Indexing,对于一个大型项目,我们有一个巨大的SOLR索引,它消耗了超过50GB的空间 我们已经考虑了几种减小索引内容大小的方法,但我很好奇,我们是否可以对SOLR索引进行任何更改,使其大小减小2个数量级或更多,这与(1)我们可以运行的维护命令或(2)直接相关可能未正确设置的简单配置参数 另一个相关的问题是(3)是否有一种方法可以在SOLR内部以指数大小换取绩效,如果是,它将如何工作 如果您对此有任何想法,我们将不胜感激。。。谢谢 为了用性能换取索引大小,您可以做一些事情。例如,整数(int)字段使用的空间

对于一个大型项目,我们有一个巨大的SOLR索引,它消耗了超过50GB的空间

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

另一个相关的问题是(3)是否有一种方法可以在SOLR内部以指数大小换取绩效,如果是,它将如何工作


如果您对此有任何想法,我们将不胜感激。。。谢谢

为了用性能换取索引大小,您可以做一些事情。例如,整数(int)字段使用的空间比trie整数(tint)字段少,但使用int时范围查询速度较慢

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

  • 您是否使用了大量存储字段?如果是这样,请尝试从索引中删除存储的字段,并在从Solr获得结果后查询数据库以获取必要的数据
  • 将ommitnorms=“true”添加到不需要长度规范化的文本字段
  • 将ompitPositions=“true”添加到不需要短语匹配的文本字段中
  • 特殊领域,如NGRAM,可能会占用大量空间
  • 是否要从文本字段中删除停止词

如果您可以发布您的
schema.xml
和一些示例文档,这将有所帮助。谢谢-这些“数量级”的区别有哪些?从表面上看,他们似乎只改变了一小部分。。。。我们需要大幅度缩减(我们没有做任何像大型文本索引这样疯狂的事情……大多数字段都很小……但我们只有很多字段)。省略规范和位置可以节省大量空间,尤其是索引的大小。看看这篇文章:+1我还想补充一点,术语向量占用了大量空间,如果有很多段,那么进行一些合并可以帮助在段之间共享数据