Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Node configuration (that which is set in solr.xml) should be configurable via system properties or environment variables (both via EnvUtils.java) in an automatic way without requiring that the user modify their solr.xml to allow such substitution a-priori. This requires a systematic naming convention to map most settings in solr.xml to a system property name equivalent. This should all be done in such a way that it will also work for solrconfig.xml and schema.xml (i.e. don't hard-code a NodeConfig-only solution). Once this is done, a number of lines in Solr's configuration files, including tests, can be removed.
Suggested name mapping: "solr." and then the configurable name, plus intermediate XML element names (like "solrcloud"). Thus the host would be "solr.solrcloud.host". and schema sharing would be "solr.shareSchema". More can be done as well like supporting the "enabled" attribute and class name, but this ought to move to another issue.