Solr Properties Reference
This page provides an alphabetical reference of Solr system properties that can be used to configure various aspects of Solr. Where applicable, previous property names are also listed.
Properties marked with "!" indicate inverted meaning between old and new properties. For example, if the old property was disable.config.edit=false , the equivalent setting with the new property would be solr.api.config.edit.enabled=true .
|
System Properties
Property Name | Previous Property Name (if any) | Default Value | Description |
---|---|---|---|
solr.admin.handler.systeminfo.dns.reverse.lookup.enabled |
!solr.dns.prevent.reverse.lookup |
true |
Controls whether reverse DNS lookups are enabled in the system info handler. |
solr.api.config.edit.enabled |
!disable.config.edit |
true |
Controls whether configuration editing via API is enabled. When set to |
solr.api.v2.enabled |
!disable.v2.api |
true |
Controls whether the V2 API is enabled. When set to |
solr.auth.jwt.outbound.http.enabled |
solr.auth.jwt.allowOutboundHttp |
false |
Controls whether JWT authentication for outbound HTTP connections is enabled. |
solr.auth.superuser |
solr.authorization.superuser |
solr |
Specifies the superuser for authorization. This user has all permissions when using SASL authentication. |
solr.circuitbreaker.errorcode |
503 |
Defines the HTTP error code returned when a circuit breaker is triggered. |
|
solr.cloud.shardsplit.checkdiskspace.enabled |
solr.shardSplit.checkDiskSpace.enabled |
true |
Controls whether to check for disk space before shard split |
solr.cloud.prep.recovery.read.timeout.additional.ms |
prepRecoveryReadTimeoutExtraWait |
8000 |
Specifies additional milliseconds to wait during recovery read operations in SolrCloud mode. |
solr.cloud.startup.delete.unknown.cores.enabled |
solr.deleteUnknownCores |
false |
Controls whether unknown cores are deleted at startup in SolrCloud mode. |
solr.cloud.wait.for.zk.seconds |
waitForZk |
30 |
Specifies the number of seconds to wait for ZooKeeper connection in SolrCloud mode. |
solr.configset.bootstrap.confdir |
bootstrap_confdir |
Defines the directory of a configuration to be loaded as a configset when starting Solr. Often ends in |
|
solr.configset.bootstrap.config.name |
collection.configName |
Specifies the configuration name for the bootstrapped configset. Use with "solr.configset.bootstrap.confdir". |
|
solr.configset.default.confdir |
solr.default.confdir |
"_default" |
Defines the default configuration directory for configsets. |
solr.configset.forbidden.file.types |
solrConfigSetForbiddenFileTypes |
jar,jnilib,dll,so,dylib,exe |
Specifies file types that are forbidden in configsets. |
solr.configset.upload.enabled |
configset.upload.enabled |
true |
Controls whether configset uploads are enabled. |
solr.filestore.filesize.max |
max.file.store.size |
100MB |
Defines the maximum file size allowed in Solr’s filestore. |
solr.index.replication.fingerprint.enabled |
!solr.disableFingerprint |
true |
Controls whether index fingerprinting for replication is disabled. |
solr.index.updatelog.enabled |
enable.update.log |
true (in default solrconfig.xml) |
Controls whether the UpdateLog is enabled. The UpdateLog is required for atomic updates, real-time get, and transaction log replay. May be disabled in testing environments or with schemas that don’t support versioning (older schemas) to improve performance at the cost of data durability. |
solr.logs.dir |
solr.log.dir |
server/logs |
Specifies the directory where Solr logs are stored. |
solr.metrics.fieldcache.entries.enabled |
!disableSolrFieldCacheMBeanEntryList |
true |
Controls whether Solr FieldCache MBean entry list is disabled for metrics reporting. |
solr.metrics.fieldcache.entries.jmx.enabled |
!disableSolrFieldCacheMBeanEntryListJmx |
true |
Controls whether Solr FieldCache MBean JMX entry list is disabled for metrics reporting. |
solr.packages.enabled |
enable.packages |
false |
Controls whether the package management system is enabled. |
solr.requests.allow.urls |
solr.disable.allowUrls |
Specifies URLs that are allowed for streaming. See also solr.requests.streaming.remote.enabled. |
|
solr.requests.streaming.body.enabled |
solr.enableStreamBody |
false |
Controls whether streaming request bodies are enabled. |
solr.requests.streaming.remote.enabled |
solr.enableRemoteStreaming |
false |
Controls whether remote streaming is enabled for requests. |
solr.resourceloading.restricted.enabled |
!solr.allow.unsafe.resourceloading |
true |
Controls whether resource loading restrictions are enabled. When set to |
solr.responses.hidden.sys.props |
solr.hiddenSysProps |
Defines system properties that are hidden in responses. |
|
solr.responses.stacktrace.enabled |
!solr.hideStackTrace |
false |
Controls whether stack traces are included in responses. When set to |
solr.security.auth.basicauth.credentials |
basicauth |
Defines basic authentication credentials. |
|
solr.security.auth.plugin |
authenticationPlugin |
Specifies the authentication plugin to use. |
|
solr.solrj.cloud.max.stale.retries |
cloudSolrClientMaxStaleRetries |
5 |
Sets the maximum number of retries for stale connection attempts in SolrJ cloud client. |
solr.streamingexpressions.facet.tiered.enabled |
solr.facet.stream.tiered |
true |
Controls whether tiered faceting is enabled for streaming expressions. |
solr.streamingexpressions.macros.enabled |
StreamingExpressionMacros |
false |
Controls whether to expand URL parameters inside of the |
solr.tracing.always.on.enabled |
solr.alwaysOnTraceId |
true |
Controls whether trace IDs are always generated, even when no request contains a trace ID. |
solr.ui.enabled |
!disableAdminUI |
true |
Controls whether the Solr Admin UI is enabled. When set to |
solr.ui.experimental.enabled |
!solr.admin.ui.experimental.disabled |
true |
Controls whether experimental features in the Solr Admin UI are enabled. When set to |
solr.zookeeper.client.connect.timeout |
zkConnectTimeout |
15 seconds. |
How long before timing out opening connection to ZooKeeper. |
solr.zookeeper.client.timeout |
zkClientTimeout |
30 seconds. |
How long before timing out connection to ZooKeeper. |
solr.zookeeper.chroot.create |
createZkChroot |
false |
Controls whether a ZooKeeper chroot is created if it doesn’t exist. |
solr.zookeeper.embedded.host |
solr.zk.embedded.host |
127.0.0.1 |
Sets the network interface the Embedded ZooKeeper binds to. |
solr.zookeeper.server.confdir |
zkServerConfDir |
Defaults to solr.home dir. |
Where to store ZooKeeper configuration when running embedded ZooKeeper. |
solr.zookeeper.server.datadir |
zkServerDataDir |
Defaults to solr.home/zoo_data dir. |
Where to store ZooKeeper data when running embedded ZooKeeper. |
solr.zookeeper.server.enabled |
zk.run |
false |
Controls whether embedded ZooKeeper is started. Set by the start script. |
Property Naming Conventions
Many Solr properties follow a standard naming convention. Newer properties typically use dot-separated format prefixed with solr.
(e.g., solr.my.property
), while older properties might camelCase (e.g., solr.myProperty
).
Setting System Properties
System properties can be set in several ways:
-
JVM command line arguments using
-D
:-Dsolr.api.v2.enabled=true
-
In
solr.in.sh
(Unix) orsolr.in.cmd
(Windows) using environment variables -
Through environment variables (with appropriate naming conventions)
Environment variables can also be used to set these properties.
You may find this useful in environments such as Docker.
Environment variables should be uppercase with dot notations equivalents, e.g. SOLR_API_V2_ENABLED
for the property solr.api.v2.enabled
.