首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SOLR索引2个数据库

SOLR索引2个数据库
EN

Stack Overflow用户
提问于 2012-06-18 23:50:10
回答 1查看 375关注 0票数 2

我们正在尝试用来自2个不同数据库的数据建立一个SOLR索引,

看看那个http://wiki.apache.org/solr/DataImportHandler#Multiple_DataSources,它看起来应该是可能的,但我们有问题。

代码语言:javascript
复制
 <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能做什么有错误的期望吗?

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-19 00:04:35

我相信你的问题只是一个案例问题。datasource应该是dataSource,我记得Solr XML配置属性是区分大小写的。使用当前配置,实际上不会定义dataSource,因此处理程序将使用已定义的第一个数据源(单数据源模式)。

您应该将其更改为:

代码语言:javascript
复制
<entity name="entity1" dataSource="ds-1" query="SELECT YYY FROM TABLE">
  <field column="YYY" name="YYY"/>
</entity>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11086425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档