You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by Jian Han Guo <ji...@gmail.com> on 2009/05/06 00:18:46 UTC
SolrDispatchFilter config parameter solrconfig-filename
Hi,
I wanted to use this parameter to specify different solr configuration files
for master and slave to simplify deployment procedure. Unfortunately, I
can't dynamically replace the value of this parameter. Basically, what I
want is
<filter>
<filter-name>SolrRequestFilter</filter-name>
<filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
<init-param>
<param-name>solrconfig-filename</param-name>
<param-value>solrconfig-master.xml</param-value>
</init-param>
</filter>
for master instance, and
<filter>
<filter-name>SolrRequestFilter</filter-name>
<filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
<init-param>
<param-name>solrconfig-filename</param-name>
<param-value>solrconfig-slave.xml</param-value>
</init-param>
</filter>
for slave instance.
Ideally, if I can use system property for its value like in solrconfig.xml.
For example,
<filter>
<filter-name>SolrRequestFilter</filter-name>
<filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
<init-param>
<param-name>solrconfig-filename</param-name>
<param-value>${solr.config.filename: solrconfig.xml}</param-value>
</init-param>
</filter>
but I learned that in general we can't use system property in web.xml.
I realize that I can use replication of config file to achieve this, but I
thought that creates unnecessary dependencies for slaves on master instance.
So here is my proposal:
make SolrDispatchFilter look up another init parameter, say
'solrconfig-filename-property', and its value is a system property name, and
if this property is set, we got the file name, otherwise nothing happens (of
course, if both exist, 'solrconfig-filename' takes precedence). This will
give us maxium flexibility of specifying configuration files for different
instances.
Your thoughts?
Thanks,
Jianhan
Re: SolrDispatchFilter config parameter solrconfig-filename
Posted by Jian Han Guo <ji...@gmail.com>.
Ok, if there is no objection, I'll file a bug and create a patch for it.
Thanks,
Jianhan
On Tue, May 5, 2009 at 3:18 PM, Jian Han Guo <ji...@gmail.com> wrote:
>
> Hi,
>
> I wanted to use this parameter to specify different solr configuration
> files for master and slave to simplify deployment procedure. Unfortunately,
> I can't dynamically replace the value of this parameter. Basically, what I
> want is
>
> <filter>
> <filter-name>SolrRequestFilter</filter-name>
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> <init-param>
> <param-name>solrconfig-filename</param-name>
> <param-value>solrconfig-master.xml</param-value>
> </init-param>
> </filter>
>
> for master instance, and
>
> <filter>
> <filter-name>SolrRequestFilter</filter-name>
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> <init-param>
> <param-name>solrconfig-filename</param-name>
> <param-value>solrconfig-slave.xml</param-value>
> </init-param>
> </filter>
>
> for slave instance.
>
> Ideally, if I can use system property for its value like in solrconfig.xml.
> For example,
>
>
> <filter>
> <filter-name>SolrRequestFilter</filter-name>
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> <init-param>
> <param-name>solrconfig-filename</param-name>
> <param-value>${solr.config.filename: solrconfig.xml}</param-value>
> </init-param>
> </filter>
>
> but I learned that in general we can't use system property in web.xml.
>
> I realize that I can use replication of config file to achieve this, but I
> thought that creates unnecessary dependencies for slaves on master instance.
>
> So here is my proposal:
>
> make SolrDispatchFilter look up another init parameter, say
> 'solrconfig-filename-property', and its value is a system property name, and
> if this property is set, we got the file name, otherwise nothing happens (of
> course, if both exist, 'solrconfig-filename' takes precedence). This will
> give us maxium flexibility of specifying configuration files for different
> instances.
>
> Your thoughts?
>
> Thanks,
>
> Jianhan
>
>
>