With SolrCloud, most config information other than solr.xml is stored in ZooKeeper. The information below applies to Solr when it is not running in cloud mode.
Solr is configured using three main files...
- solr.xml - Solr.xml 4.4 and beyond or Solr.xml (supported through 4.x)
- solrconfig.xml - SolrConfigXml
- schema.xml - SchemaXml
The central directory for Solr is known as solr.solr.home, or solr/home in servlet container configs. If this property is not defined, it defaults to "./solr" - a directory named solr in the current working directory.
The solr.xml file is the first config file that Solr tries to find, and it looks in solr.solr.home. This gives Solr global config information and tells it where to find its cores. The rest of the config comes from each defined core. If solr.xml does not exist, Solr will attempt to start in single-core mode. Support for single-core mode is likely to be removed in version 5.0.
In each core, Solr will look for a conf/solrconfig.xml file. The solrconfig may point Solr at other config files, like conf/dih-config.xml for the dataimport handler. Unless the config filename is changed in solrconfig.xml, conf/schema.xml will be used to load the schema.