mysql - solr delta-import "fetches" "processing"之前的所有数据?

标签 mysql solr

我使用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/

相关文章:

mysql - 第 300 条记录后删除消息

java - hdfs + solr安装报错cannot create core collection1

python - Lucene 和 Django 内存有限

solr - ExtractingRequestHandler - 你如何发布多值文字字段?

java - 如何将 ResultSet 插入到新的 MYSQL 表中?

mysql - 按具有相同名称的行的日期时间差异对表进行排序

php - 将多条记录从数组插入MySQL

php - 根据表单字段动态选择查询

solr - java.lang.IllegalStateException : Cannot call sendError() after the response has been committed

java - 使用 Java 处理单词缩略的有效方法是什么?