我们有几个环境(包括。(几个开发、暂存和生产),但目前复制和粘贴Solr conf文件夹,并为每个环境安装solr-data-config.xml,因为该文件包含环境详细信息:
<dataConfig>
<dataSource name="ds-db" type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://10.0.0.40:3306/***"
user="***"
password="**"/>如何将solr配置与环境数据分离,以便每个搜索组只有一个配置文件夹,并且有单独的环境数据?
发布于 2017-10-04 11:19:34
我建议将与环境有关的参数具体化:
1) DIH
您可以使用占位符获得这一结果。
<dataConfig>
<dataSource name="ds-db" type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url ="${dataimporter.request.url}"
user ="${dataimporter.request.user}"
password ="${dataimporter.request.password}"/>2) Solrconfig
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
<str name="clean">true</str>
...
<str name="url">${db.url:defaultUrl}</str>
<str name="user">${db.user:defaultUser}</str>
<str name="password">${db.password:}</str>
...
</lst>
</requestHandler>${environment_variable:“默认”}是use1的语法。
然后,您需要将变量作为Solr进程的Java系统属性传递。
https://stackoverflow.com/questions/46562428
复制相似问题