DSE Search configuration file (solrconfig.xml)

solrconfig.xml is the primary DSE search configuration file.

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

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 
For live indexing, ensure that the autoSoftCommit time is 100ms.
<autoSoftCommit>
    <maxTime>100</maxTime>
</autoSoftCommit>
See Increasing indexing throughput.
dseTypeMappingVersion  
The Solr type mapping version defines how Solr types are mapped to Cassandra Thrift or Cassandra types. Changing a Solr type mapper 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 to use the StandardDirectoryFactory. For example, change the directoryFactory element in the solrconfig.xml file as follows: <directoryFactory class="solr.StandardDirectoryFactory" name="DirectoryFactory"/>
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.
lib 
Contrary to the examples shown in the solrconfig.xml file that indicate support for relative paths, DataStax Enterprise does not support the relative path values that are set for the <lib> property. DSE Search fails to find files in directories that are defined by the <lib> property. The workaround is to place custom code or Solr contrib modules in the Solr library directories. See Configuring the Solr library path.
maxBooleanClauses 
Defines the maximum number of clauses in a boolean query. If you change this value, restart the nodes to make the change effective. See Changing maxBooleanClauses.
queryExecutorThreads 
You can 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 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 
The default value is 512 MB.
requestHandler 
The correct search handler is required for CQL Solr queries in DSE Search. When you automatically generate resources, the solrconfig.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.

rt 
To enable live indexing (also known as RT), add <rt>true</rt> to the <indexConfig> attribute.
<indexConfig>
    <rt>true</rt>
...
See Increasing indexing throughput.
SolrFilterCache 
The DSE Search configurable filter cache reliably bounds the filter cache memory usage for a Solr core. See Configuring filter cache for searching.
updateHandler 
You can configure per-document or per-field TTL. See Expiring a DSE Search column.