【问题标题】:Solr - Faceted navigation on large indexSolr - 大型索引上的分面导航
【发布时间】:2010-12-22 01:16:34
【问题描述】:

我有一个包含 12 亿个文档的索引 (Solr 1.4.1)。我想在包含大约 250 个唯一值的字段(int 类型)上启用分面导航。

我使用默认方法 (facet.method=fc) 获得 Java heap space java.lang.OutOfMemoryError,而枚举方法非常慢(但有效)。

对于给定数量的文档和唯一值,最佳方法是什么?

更新:

如果我理解正确的话:

  • 使用fc方法分面的内存使用为:MaxDoc * 4bytes(字段类型为int,64bit JVM),即:1118950216 * 4bytes = 4.1GB(大约)

  • 使用枚举方法进行分面的内存使用为:NumberOfUniqueValues * SizeOfBitset = 250 * (1118950216 / 8) = 32GB

这是正确的吗?

我将再次尝试 FC 方法(并为 solr 提供更多内存)。

谢谢!

【问题讨论】:

  • 该字段属于哪种类型?在主干上还有另一种方法: facet.method=fcs (facet per segment)
  • @Karussell:你应该这样回答
  • Karussel:字段类型为整数。目前我在(优化的)索引中只有一个段(索引将是静态的)。我不确定 fcs 方法是否对我有帮助,但我会看看。

标签: solr out-of-memory faceted-search


【解决方案1】:

您必须tune the JVM memory allocation settings 和/或向服务器添加更多内存;或者查看sharding the index。

【讨论】:

  • 我已升级到 solr 4.0 (trunk) 并为服务器添加了更多内存。看起来现在正在工作......
猜你喜欢
  • 2015-12-23
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2017-09-06
  • 1970-01-01
  • 2011-10-15
  • 1970-01-01
相关资源
最近更新 更多