[英]SOLR indexing 2 databases
我们正在尝试使用来自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>
尝试运行索引器时,它适用于第一个实体/查询/ ds,然后因org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT ZZZ FROM TABLE
而失败org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT ZZZ FROM TABLE
似乎正在尝试在ds-1上执行query2 ...
我们还改变了数据源和/或实体定义的顺序,似乎它总是只能索引第一个。
我们做错什么了吗? 我们对SOLR可以做什么抱有错误的期望?
谢谢您的帮助
我相信您的问题只是一个案例问题。 datasource
应该是dataSource
,我记得Solr XML配置属性区分大小写。 使用当前配置,将不会实际定义dataSource
,因此处理程序将使用已定义的第一个数据源(单一数据源模式)。
您应该将其更改为:
<entity name="entity1" dataSource="ds-1" query="SELECT YYY FROM TABLE">
<field column="YYY" name="YYY"/>
</entity>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.