如何在Catalina / localhost XML文件中分离solr / home和data / dir?

我在Tomcat 7的conf/Catalina/localhost中有以下configuration文件:

 <Context docBase="webapps/solr.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/opt/solr/home" override="true" /> <Environment name="data/dir" type="java.lang.String" value="/var/lib/solr" override="true" /> </Context> 

在那里我想分开我的solr.home从data.dir 。

我已经testing了上面的configuration文件,但似乎没有工作。

是否有可能使用这种XMLconfiguration文件?

我已经检查了GitHub ,有一些configuration文件,他们在那里,但我不能让它工作。

我不这么认为。

在solrconfig.xml文件被加载的时候,工作很久以前就已经完成了,以支持系统属性replace,但是我不认为这也被广义地支持JNDI值(这是上下文文件集中的<Environment/>标记)。

我实际上有一个solr configparsing器的补丁,它允许你在solrconfig.xml使用上下文环境variables。

克里斯·霍斯特 ( Chris Hostetter) (Hoss)于2010年在solr用户组发表了一篇文章 。

我不认为有可能在没有修补Solr的情况下使用Tomcat上下文环境条目作为数据目录。 看来只有solr/homevariables工作正常。

更好的方法是使用应位于Solr conf/ home目录(或: collection1/conf )或Tomcat WEB-INF/目录中的JVM系统属性文件( solrcore.properties ),并使用以下条目:

 solr.data.dir=/var/lib/solr 

通过使用和重新加载您的应用程序或重新启动您的Tomcat服务重新加载Java属性。

另一种方法是使用solr.xml (在Solr 4.x中),通过设置不同的instanceDir和dataDir来分隔dataDir和configuration文件。