Mysql solr delta import“;取回;“之前的所有数据”;处理“;?

Mysql solr delta import“;取回;“之前的所有数据”;处理“;?,mysql,solr,Mysql,Solr,我使用solr的DIH将数据从mysql增量导入solr,但我发现当表中有大量记录(100000000)时,增量导入需要在处理之前获取所有数据。 因此,它总是会导致大量内存消耗,导致内存不足。 而当我执行完整导入操作时,它可能会获取部分数据 solr delta导入是否有任何设置可以解决此问题?一种解决方案可能是在数据配置.xml中设置批大小。下面是一个关于如何做到这一点的示例: <dataSource type="JdbcDataSource" name="ds-2" driver="c

我使用solr的DIH将数据从mysql增量导入solr,但我发现当表中有大量记录(100000000)时,增量导入需要在处理之前获取所有数据。 因此,它总是会导致大量内存消耗,导致内存不足。 而当我执行完整导入操作时,它可能会获取部分数据


solr delta导入是否有任何设置可以解决此问题?

一种解决方案可能是在
数据配置.xml
中设置
批大小。下面是一个关于如何做到这一点的示例:

<dataSource type="JdbcDataSource" name="ds-2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:8889/mysqldatabase" batchSize="-1" user="root" password="root"/>

此示例取自以下链接:


您可以尝试的另一件事是对增量使用
full import
命令,但是设置
batchSize
在过去对我很有效。如果您想尝试对增量使用
完全导入
,请访问以下链接:

然而,它似乎不起作用,solr抛出一个异常,即Fetch size必须大于或等于0。顺便说一句,我使用postgresql存储数据。使用完全导入而不是增量导入应该是一种可行的方法,但我不知道这是完成增量导入数据操作的最合适方式。谢谢您的回答。