1

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

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

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

更新:

所以如果我理解正确:

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

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

它是否正确?

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

谢谢!

4

1 回答 1

1

您必须调整 JVM 内存分配设置和/或向服务器添加更多内存;或者考虑对索引进行分片

于 2010-12-21T17:12:34.263 回答