4

我刚刚在我的 Rails 应用程序上安装了 Solr(使用 sunspot)。

我希望 solr 重新索引我的一个表上的几列,这些表非常大(约 50M 记录)。

建议使用的批量大小是多少?目前我正在使用 1000 并且它运行了一天多。

有任何想法吗?

4

1 回答 1

3

批量大小不是那么重要,1000 可能还可以,尽管我不会比这更大。这取决于文档的大小,每个文档索引多少字节的文本。

你在每批之后都提交吗?那可能很慢。我加载了一个 23M 的文档索引,最后只有一个提交。文档很小,书籍的元数据,大约需要 90 分钟。为了获得这样的速度,我需要使用单个 SQL 查询来进行负载。使用任何子查询都会使其慢 10 倍。

我在 DataInputHandler 中使用了 JDBC 支持,尽管我可能会使用一些自定义代码来进行数据库查询并提交批处理。

我听说 CSV 输入处理程序非常高效,因此可以将数据转储到 CSV,然后使用该处理程序加载它。

于 2012-04-03T14:48:13.277 回答