我正在尝试将大型MySQL数据库导入Solr,并且导入查询在服务器上非常繁重(这可能会影响当时正在运行和使用数据库的实际产品)。有没有办法将完整导入分成几个较小的块?我在这里或Solr的文档中都没有找到关于这个主题的任何内容。
我知道delta导入功能,但我将其用于新增/更改数据的delta导入。
答案 0 :(得分:1)
当然,您可以添加类似
的条件WHERE pk<'${dataimporter.request.INDEX}'
并在请求参数中传递INDEX。因此,每次调用完全导入时,只会对部分记录编制索引。当然要记得使用&amp; clean = false ,否则每次都会删除内容。
答案 1 :(得分:0)
您可以查看batchsize: -
batchSize(默认值:500) - 将从一个查询中的数据库检索到的最大数量(或者更确切地说是驱动程序的建议)设置到数据库。更改此参数可以在查询返回多个结果的情况下提供帮助。它可能没有帮助,因为这种机制的实现取决于JDBC驱动程序。
http://lucene.472066.n3.nabble.com/DataImportHandler-running-out-of-memory-td490797.html