Solr - 大索引上的分面导航

发布于 2024-10-08 18:51:30 字数 467 浏览 3 评论 0原文

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

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

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

更新:

所以如果我理解正确的话:

  • 使用fc方法进行分面的内存使用量是:MaxDoc * 4bytes(字段类型是int,64位JVM),所以就是:1118950216 * 4bytes = 4.1 GB(大约)

  • 内存使用枚举方法进行分面的用法是

这是否正确?

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

谢谢!

I have an index containing 1.2 billion of documents (Solr 1.4.1). I want to enable faceted navigation on a field (int type) containg around 250 unique values.

I am getting Java heap space java.lang.OutOfMemoryError with the default method (facet.method=fc), while the enum method is very slow (but works).

What is the best approach for a given number of documents and unique values?

Updated:

So if I understand correctly:

  • Memory usage for faceting using fc method is: MaxDoc * 4bytes (the field type is int, 64bit JVM), so that is: 1118950216 * 4bytes = 4.1GB (aprox.)

  • Memory usage for faceting using enum method is: NumberOfUniqueValues * SizeOfBitset = 250 * (1118950216 / 8) = 32GB

Is this correct?

I will try again the FC method (and give more ram to solr).

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

德意的啸 2024-10-15 18:51:30

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

You'll have to tune the JVM memory allocation settings and/or add more memory to the server; or alternatively look into sharding the index.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文