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