dif*_*ffa 5 configuration solr configuration-files solr4
我有很多站点,我使用Solr 4.6.0索引,我希望为每个站点维护单独的核心.每个核心将共享相同的schema.xml和相同的solrconfig.xml.理想情况下,我可以通过管理控制台创建新内核,Solr会选择我的默认核心配置.
目前,当我创建一个新的核心时,我正在文件系统中创建一个名为"我希望核心"的新目录.我然后补充说:
我已经尝试将以下内容放在core.properties文件中并提升级别并相对引用:
schema=../configs/template/schema.xml
config=../configs/solrconfig.xml
Run Code Online (Sandbox Code Playgroud)
我也尝试过symlinking(不太理想,因为我想在windows/osx/linux上运行).
但Solr似乎不喜欢目录之外的相对引用.Core Discovery 4.4和Beyond中提到的configName属性
Solr中是否可以使用这种默认配置?
从Solr 4.8开始,内核可以使用配置集在多个内核之间共享通用配置(即"solrconfig.xml","schema.xml"等).
您想要将目录结构更改为:
./
?? solr.xml
?? configsets/
| ?? template/
| ?? conf/
| ?? schema.xml
| ?? solrconfig.xml
| ?? ...
?? core1/
| ?? core.properties
| ?? data/
?? core2/
?? core.properties
?? data/
Run Code Online (Sandbox Code Playgroud)
这定义了一个名为template的配置集.核心"conf /"目录下的所有内容都应该位于配置集的"conf /"目录下.
然后,在每个"core.properties"文件中,设置configSet 并省略schema和config:
# core.properties
name=...
configSet=template
Run Code Online (Sandbox Code Playgroud)
现在,使用模板配置集的核心将共享"schema.xml","solrconfig.xml"等.
不幸的是,管理界面不直接支持分配configSet属性.但是,如果使用CoreAdmin API,则可以使用CREATE命令设置configSet.例如,
http://localhost:8983/solr/admin/cores?action=CREATE&name=coreX&configSet=template
Run Code Online (Sandbox Code Playgroud)