我使用solr的DIH将数据从mysql导入到solr,但我发现当表有大量记录(100000000)时,delta-import需要在处理之前获取所有数据。 因此它总会导致大量内存消耗,从而导致内存不足。 当我执行完全导入操作时,它可能会获取部分数据。
solr delta导入是否有任何设置可以解决此问题?
答案 0 :(得分:1)
一种解决方案可能是在batchSize
中设置data-config.xml
。以下是如何操作的示例:
<dataSource type="JdbcDataSource" name="ds-2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:8889/mysqldatabase" batchSize="-1" user="root" password="root"/>
此示例取自以下链接:DataImportHandler - Solr Wiki
您可能尝试的另一件事是为您的delta使用full-import
命令,但设置batchSize
过去对我有用。如果您想尝试使用full-import
替换delta,请访问以下链接:Full Import Delta - Solr Wiki