我使用solr的DIH将mysql的数据delta import到solr,但是我发现当表有大量记录(100000000)时,delta-import需要在处理之前获取所有数据。 所以它总是会导致大量内存消耗,从而导致内存不足。 而当我进行完全导入操作时,它可能会获取部分数据。
solr delta 导入有什么设置可以解决这个问题吗?
最佳答案
一种解决方案可能是在 data-config.xml
中设置 batchSize
。这是有关如何执行此操作的示例:
<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
您可能会尝试的另一件事是对增量使用 full-import
命令,但设置 batchSize
在过去对我有用。如果您想尝试对增量使用 完全导入
,请访问以下链接:Full Import Delta - Solr Wiki
关于mysql - solr delta-import "fetches" "processing"之前的所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29001419/