What is Solr config set

In Solr 5, a new configuration mechanism was introduced to manage configurations for Solr index. The so called config sets. Which are just directories that contains solrconfig.xml and other configuration files for a Solr core.

In old version, you need to create the directory structure and add configuration files by yourself. The commonly used method is copy the existing Solr core and adjust it for your own requirements. For example How to create new collection in Solr.

The advantage of the old method is you always know where are your cores and configurations, because you are the one create all of them .

The problem is it's cumbersome and the abstraction level is low. The new method using config set which is just a named and predefined configuration that you can use by specifying the name.

So you can automate the process with simple command, just pass the name of your desired configuration, all the rest are done automatically for you. See example in How to create new collection in Solr.

This may cause some confusions for old users, but it's obviously the better way to use Solr.

The configset base directory

All your config sets are stored under the configset base directory. By default it's

 
C:\App\solr-6.3.0\server\solr\configsets
 

You can change it in solr.xml

You will found three predefined config sets in this directory: basic_configs, data_driven_schema_configs and sample_techproducts_configs. The data_driven_schema_configs use the schemaless mode and the other two use the traditional editable scheme.xml

basic_configs

The basic_configs provides the minimum configurations that needed for a Solr core.

data_driven_schema_configs

To create a schemaless core which supports managed schema by field guessing.

sample_techproducts_configs

A set of configurations for a typical application , contains some advanced options.

Create a core with config set

First start Solr server with the command

 
C:\App\solr-6.3.0\bin>solr start -p 8984
WARNING: 32-bit Java detected. Not recommended for production. Point your JAVA_HOME to a 64-bit JDK
 
Waiting up to 30 to see Solr running on port 8984
Started Solr server on port 8984. Happy searching!
 
 

Then create the core

 
C:\App\solr-6.3.0\bin>solr create -c basiccore -d basic_configs -p 8984
 
Copying configuration to new core instance directory:
C:\App\solr-6.3.0\server\solr\basiccore
 
Creating new core 'basiccore' using command:
http://localhost:8984/solr/admin/cores?action=CREATE&name=basiccore&instanceDir=basiccore
 
{
  "responseHeader":{
    "status":0,
    "QTime":4238},
  "core":"basiccore"}
 
 

Open the browser with url

 
http://localhost:8984/solr/#/basiccore