我刚刚在我的 Rails 应用程序上安装了 Solr(使用 sunspot)。
我希望 solr 重新索引我的一个表上的几列,这些表非常大(约 50M 记录)。
建议使用的批量大小是多少?目前我正在使用 1000 并且它运行了一天多。
有任何想法吗?
我刚刚在我的 Rails 应用程序上安装了 Solr(使用 sunspot)。
我希望 solr 重新索引我的一个表上的几列,这些表非常大(约 50M 记录)。
建议使用的批量大小是多少?目前我正在使用 1000 并且它运行了一天多。
有任何想法吗?
批量大小不是那么重要,1000 可能还可以,尽管我不会比这更大。这取决于文档的大小,每个文档索引多少字节的文本。
你在每批之后都提交吗?那可能很慢。我加载了一个 23M 的文档索引,最后只有一个提交。文档很小,书籍的元数据,大约需要 90 分钟。为了获得这样的速度,我需要使用单个 SQL 查询来进行负载。使用任何子查询都会使其慢 10 倍。
我在 DataInputHandler 中使用了 JDBC 支持,尽管我可能会使用一些自定义代码来进行数据库查询并提交批处理。
我听说 CSV 输入处理程序非常高效,因此可以将数据转储到 CSV,然后使用该处理程序加载它。