Java 如何使用mysql优化solr索引

Java 如何使用mysql优化solr索引,java,php,mysql,solr,Java,Php,Mysql,Solr,我使用Mysql将数据索引到SOLR。早期的数据较少,因此索引的速度很快,没有任何延迟。现在我的数据包含近300万行,mysql查询总是超时,因此SOLR无法对数据进行相应的索引。有没有办法使用mysql快速索引SOLR,或者可以在SOLR中进行任何调整?请帮助。如果您没有使用,您应该开始使用。这样,只有自上次运行索引以来已更改的行才会再次被索引,从而减少对MySQL的影响和行数 另外还有JDBCDataSource(我猜您正在使用),它告诉JDBC驱动程序限制每个查询中的文档数量,并发出多个查

我使用Mysql将数据索引到SOLR。早期的数据较少,因此索引的速度很快,没有任何延迟。现在我的数据包含近300万行,mysql查询总是超时,因此SOLR无法对数据进行相应的索引。有没有办法使用mysql快速索引SOLR,或者可以在SOLR中进行任何调整?请帮助。

如果您没有使用,您应该开始使用。这样,只有自上次运行索引以来已更改的行才会再次被索引,从而减少对MySQL的影响和行数

另外还有JDBCDataSource(我猜您正在使用),它告诉JDBC驱动程序限制每个查询中的文档数量,并发出多个查询


如果在检索SQL内容时对其执行任何类型的筛选(例如增量导入),还应注意在数据上有可用的索引。

我使用的增量导入器也带有上次更新的时间戳。我获取了所有在30分钟前或其他时间之前更改过的数据。但该查询也需要超时。这主要是因为我在mysql增量导入查询中有15个表在执行左连接。那么,有什么我可以分批完成的吗???至少有两种选择:使用MySQL解释功能查看为什么查询花费了这么多时间,并对其进行优化,以尽可能少的查询返回。如果您正在进行增量导入,并且每次导入都会看到300万行更改,那么如果出现问题,请更频繁地进行导入。添加适当的索引。另一种选择是在DIH配置中使用多个级别的实体,这样Solr就可以在代码本身中进行连接(并根据需要缓存每个查找)。这可能有帮助,也可能没有。尝试