DSE Search configuration file (solrconfig.xml)

solrconfig.xml is the primary Solr configuration file for use with DSE Search.

The solrconfig.xml resource file is the primary configuration file for configuring Solr for use with DSE Search.
  • For DataStax Enterprise configuration, see dse.yaml.
  • For node and cluster configuration, see cassandra.yaml.

You can use custom resources or automatically create resources, including the solrconfig.xml file. The solrconfig.xml resource is persisted in the solr_admin.solr_resources database table.

Reload a Solr core after you modify the solrconfig.xml file. Changes apply only to the node where you reload the core. Do not make schema changes on production systems.

Parameters

You might need to modify the following parameters to tune DSE Search. For full details, see the Apache Solr Reference Guide.

autoSoftCommit 
To tune performance of re-indexing, increase the soft commit time:
<autoSoftCommit>
  <maxTime>1000000</maxTime>
</autoSoftCommit>
See Configuring re-indexing.
dseTypeMappingVersion  

The Solr type mapping version defines how Solr types are mapped to Cassandra Thrift or Cassandra types.

Changing a Solr type is rarely if ever done and is not recommended; however, for particular circumstances, such as converting Solr types such as the Solr LongField to TrieLongField, you configure the dseTypeMappingVersion using the force option. See Changing Solr Types and Configuring the Solr type mapping version. Use this option only if you are an expert and have confirmed that the Cassandra internal validation classes of the types involved in the conversion are compatible. You can force a column to change type by using force="true". For example:
<dseTypeMappingVersion force = "true">1</dseTypeMappingVersion>
After changing the type mapping, you must reload the Solr core with re-indexing.
directoryFactory 
The directory factory to use for search indexes. If you use DSENRTCachingDirectoryFactory or the NRTCachingDirectoryFactory, modify the solrconfig.xml file to use the StandardDirectoryFactory.
<directoryFactory class="solr.StandardDirectoryFactory" name="DirectoryFactory"/>
lib 
Contrary to the examples shown in the solrconfig.xml indicating that relative paths are supported, DataStax Enterprise does not support the relative path values set for the <lib> property. See Configuring the Solr library path.
dseColumnLimit 
When using dynamic fields, the default column limit controls the maximum number of indexed columns overall, not just dynamic field columns, in legacy (Thrift) tables. See Limiting columns indexed and returned by a query.
dseUpdateRequestProcessorChain 
You can configure a custom URP to extend the Solr UpdateRequestProcessor. See Field input/output transformer example.
enableLazyFieldLoading 
Do not change the default value of true:
<enableLazyFieldLoading>true</enableLazyFieldLoading>
fieldInputTransformer 
The field output transformer API is an option to the input/output transformer support in Solr.
fieldOutputTransformer 
The field output transformer API is an option to the input/output transformer support in Solr. See Field input/output transformer example and an Introduction to DSE Field Transformers.
maxBooleanClauses 
Defines the maximum number of clauses in a boolean query. If you change this value, restart the nodes to make the change effective.
queryExecutorThreads 
Enable multithreading for filter queries, normal queries, and doc values facets:
<queryExecutorThreads>4</queryExecutorThreads>
See Configuring multithreaded queries.
queryResponseWriter 
For performance, you can configure DSE Search/Solr to parallelize the retrieval of a large number of rows.
<queryResponseWriter name="javabin" class="solr.BinaryResponseWriter">
  <str name="resolverFactory">com.datastax.bdp.search.solr.response.ParallelRowResolver$Factory</str>
</queryResponseWriter>
See Parallelizing large Cassandra row reads.
ramBufferSizeMB 
To tune for performance, see Configuring re-indexing.
<ramBufferSizeMB>125</ramBufferSizeMB>
requestHandler 

The correct search handler is required for CQL Solr queries in DSE Search. When you automatically generate resources, thesolrconfig.xml file already contains the request handler for running CQL Solr queries in DSE Search. If you do not automatically generate resources and want to run CQL Solr queries using custom resources, verify or manually add the CqlSearchHandler handler:

requestHandler class="com.datastax.bdp.search.solr.handler.component.CqlSearchHandler" name="solr_query"

For recommendations for the basic configuration for the search handler, and an example that shows adding a search component, see Configuring search components.

In this example, to configure the Data Import Handler, you can add a request handler element that contains the location of data-config.xml and data source connection information.

updateHandler 
You can configure per-document or per-field TTL. See Expiring a DSE Search column.