Index Location and Format
Where and how Solr stores its indexes are configurable options.
Specifying a Location for Index Data with the dataDir Parameter
By default, Solr stores its index data in a directory called /data under the core’s instance directory (instanceDir).
If you would like to specify a different directory for storing index data, you can configure the dataDir in the core.properties file for the core, or use the <dataDir> parameter in the solrconfig.xml file.
You can specify another directory either with an absolute path or a pathname relative to the instanceDir of the SolrCore.
For example:
<dataDir>/solr/data/${solr.core.name}</dataDir>
The ${solr.core.name} substitution will cause the name of the current core to be substituted, which results in each core’s data being kept in a separate subdirectory.
If you are using User-Managed Index Replication to replicate the Solr index, then the <dataDir> directory should correspond to the index directory used in the replication configuration.
If the environment variable SOLR_DATA_HOME is defined, or if solr.data.home is configured for your DirectoryFactory, or if solr.xml contains an
element <solrDataHome> then the location of data directory will be <SOLR_DATA_HOME>/<instance_name>/data.
|
Specifying the DirectoryFactory For Your Index
The default solr.NRTCachingDirectoryFactory is filesystem based, and tries to pick the best implementation for the current JVM and platform.
You can force a particular implementation and/or configuration options by specifying solr.MMapDirectoryFactory or solr.NIOFSDirectoryFactory.
<directoryFactory name="DirectoryFactory"
class="solr.MMapDirectoryFactory">
<bool name="preload">true</bool>
</directoryFactory>
The solr.RAMDirectoryFactory is memory based, not persistent, and does not work with replication.
Use this DirectoryFactory to store your index in RAM.
<directoryFactory class="org.apache.solr.core.RAMDirectoryFactory"/>
|
If you are using Hadoop and would like to store your indexes in HDFS, you should use the |