我有一个包含 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 提供更多内存)。
谢谢!