Reputation: 27952
Is it possible to create new cores in SOLR via HTTP? I can't seem to find a definitive answer to what seems like a very simple question...
Each core I want to create will have the same schema/configuration (multi-tenant SaaS architecture).
I found this page:
Which makes me think it's possible, but it's not very clear on specifically what each parameter I'm supposed to pass in actually is:
instanceDir - is this the path to where I want the new core to reside, or where the existing "template" core resides? is it a full file path, or a relative one? relative to what?
config - is this a full file path to the existing config file? or a relative one? relative to what?
schema - same as above
dataDir - is this the data dir of the existing core, or the new one? full file path? relative? relative to what? does it already have to exist, or will SOLR create it for me?
Upvotes: 23
Views: 21506
Reputation: 8551
Copy the configsets
folder recursively to var/solr/data/your_new_core_name
then add the your_new_core_name
from the admin panel
The configsets
path usually should be here.
/solr-8.6.3/server/solr/configsets/_default/conf
Upvotes: 0
Reputation: 1444
Yes, you can create the Solr cores via HTTP. You have found the correct URL (https://wiki.apache.org/solr/CoreAdmin) to look into. All the above parameters are optional.
instanceDir
- This is the path where your new core will be created. It'll create the folder structure provided by you, under "/example/solr/". If you don't provide this parameter, it'll automatically create a new core (with the collection no) like collection1.
config
- If you want to have a different solrconfig.xml for the new core, then provide this. Otherwise, it'll share the existing core's (collection1) config by default.
schema
- If you want to have a different schema.xml for the new core, then provide this. Otherwise, it'll share the existing core's (collection1) schema by default.
dataDir
- This is the path where your new core's data will be stored. It'll create the folder structure provided by you under the new core folder.
If you really don't want some different configuration for your new core, follow the sample HTTP URL
http://localhost:8983/solr/admin/cores?action=CREATE&name=core_name&numShards=2&replicationFactor=2
Hope this will help.
Upvotes: 12
Reputation: 2032
I had the exact same issue and I was not able to make it work from the description on https://wiki.apache.org/solr/CoreAdmin#CREATE
What solved it for me was updating to Solr 5 and using a configSet (introduced in 4.8) which defines the shared solrconfig/schema. The following URL can be used to create several cores with the same configuration:
http://localhost:8983/solr/admin/cores?action=CREATE&name=new_core&configSet=basic_configs
The 'basic_configs' is the name of a configSet that comes with the Solr 5 download (solr-5.0.0/server/solr/configsets/basic_config
). The URL worked out-of-the-box after starting the Solr server.
https://cwiki.apache.org/confluence/display/solr/Config+Sets
Upvotes: 8