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