SOLR - 跨核心共享dataSource / connection字符串

时间:2014-09-04 08:48:30

标签: solr datasource

我需要一个具有多个内核的SOLR实例。数据正从数据库中提取。我们有3个不同的搜索条件,每个业务实体有数百万行。所以我们创建了3个核心。现在的问题是数据源(Database)是相同的,只有用于检索的SQL /表是不同的。我希望跨核心共享此连接字符串。每个核心都有data-config.xml,其中指定了此连接字符串。我想在一个地方指定连接字符串。 怎么做到这一点?

提前致谢,

乌尼

2 个答案:

答案 0 :(得分:0)

您需要在solrconfig.xml中定义数据源:

       <lst name="defaults">
            <str name="config">data-config.xml</str>
            <lst name="datasource">
                <str name="type">JdbcDataSource</str>
                <str name="driver">oracle.jdbc.driver.OracleDriver</str>
                <str name="url">jdbc:oracle:thin:@localhost:1521:xe</str>
                <str name="user">wbdbuser</str>
                <str name="password">wbdbuser</str>
            </lst>
      </lst>

答案 1 :(得分:0)

在data-config.xml中

<dataConfig>
            <dataSource 
               jndiName="jdbc/somename" 
               type="JdbcDataSource" 
               readOnly="true" 
              />
... Rest your code
</dataConfig>

在etc / jetty.xml中

<New id="jdbc" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg>jdbc/somename</Arg>
    <Arg>
        <New class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
            <Set name="Url">jdbc:mysql://localhost:3306/yourdb</Set>
            <Set name="User">user name</Set>
            <Set name="Password"></Set>
        </New>
    </Arg>
</New>