为了从单个数据库中提取数据,我通常实现一个通过DataImportHandler加载数据的过程。它非常容易设置,在加载时间方面似乎非常有效,并且对我来说真的很好。它易于加载,重新加载并保持最新状态,而无需花费额外的精力。
现在我有另一种情况。我需要从多个数据库中获取数据以提供单个solr集合,但是看来DataImportHandler可能不是走的路,但是我不确定。
1.有什么方法可以使用DIH将多个数据库中的数据吸收到单个solr集合中?
2.如果不可能的话;用更少的精力来实现它的最佳策略是什么?
是的,datasources
一个配置可以有多个。为了配置额外的数据源,请在data-config.xml中添加另一个“ dataSource”标签。
有一个隐含的属性"name"
了datasource
。如果有多个,则每个额外的数据源都必须由唯一的名称'name =“ datasource-2”'标识。
可能像下面这样。
<dataSource type="JdbcDataSource" name="ds-1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db1-host/dbname" user="db_username" password="db_password"/>
<dataSource type="JdbcDataSource" name="ds-2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db2-host/dbname" user="db_username" password="db_password"/>
这些可以在以下实体中使用。
<entity name="one" dataSource="ds-1" ...>
..
</entity>
<entity name="two" dataSource="ds-2" ...>
..
</entity>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句