我们正在尝试用来自2个不同数据库的数据建立一个SOLR索引,
看看那个http://wiki.apache.org/solr/DataImportHandler#Multiple_DataSources,它看起来应该是可能的,但我们有问题。
<dataConfig>
<dataSource
name="ds-1"
type="JdbcDataSource"
driver="Driver"
url="jdbc_url1"
user="user1"
password="pass1"/>
<dataSource
name="ds-2"
type="JdbcDataSource"
driver="Driver"
url="jdbc_url2"
user="user2"
password="pass2"/>
<document>
<entity name="entity1" datasource="ds-1" query="SELECT YYY FROM TABLE">
<field column="YYY" name="YYY"/>
</entity>
<entity name="entity2" datasource="ds-2" query="SELECT ZZZ FROM TABLE">
<field column="ZZZ" name="ZZZ"/>
</entity>
</document>
</dataConfig>当尝试运行索引器时,它对第一个实体/query/ds有效,然后使用org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT ZZZ FROM TABLE失败
它似乎正试图在ds-1上执行query2 ...
我们还更改了数据源和/或实体定义的顺序,似乎总是只能对第一个数据源进行索引。
我们做错了什么吗?我们对SOLR能做什么有错误的期望吗?
谢谢你的帮助
发布于 2012-06-19 00:04:35
我相信你的问题只是一个案例问题。datasource应该是dataSource,我记得Solr XML配置属性是区分大小写的。使用当前配置,实际上不会定义dataSource,因此处理程序将使用已定义的第一个数据源(单数据源模式)。
您应该将其更改为:
<entity name="entity1" dataSource="ds-1" query="SELECT YYY FROM TABLE">
<field column="YYY" name="YYY"/>
</entity>https://stackoverflow.com/questions/11086425
复制相似问题