![](/img/trans.png)
[英]Solr4.6 is this possible to use common configuration file for multiple cores?
[英]Shared schema and configuration across multiple Solr 4.6 cores
我有许多站点正在使用Solr 4.6.0编制索引,我希望为每个站点维护独立的核心。 每个内核将共享相同的schema.xml和相同的solrconfig.xml。 理想情况下,我将能够通过管理控制台创建新核心,Solr将选择我的默认核心配置。
当前,当我创建一个新的核心时,我正在文件系统中创建一个新目录,命名为我想要的核心。 然后,我要补充一点:
我尝试将以下内容放入core.properties文件中,并进行相对引用:
schema=../configs/template/schema.xml
config=../configs/solrconfig.xml
我也尝试了符号链接(不理想,因为我希望它在Windows / OSX / Linux上运行。
但是Solr似乎不喜欢目录之外的相对引用。 Core Discovery 4.4及更高版本中提到的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/
这定义了一个名为template的配置集。 内核的“ conf /”目录下的所有内容都应在配置集的“ conf /”目录下。
然后,在每个“ core.properties”文件中,设置configSet并省略schema和config :
# core.properties
name=...
configSet=template
现在,使用模板配置集的核心将共享“ schema.xml”,“ solrconfig.xml”等。
不幸的是,管理界面不直接支持分配configSet属性。 但是,如果您使用CoreAdmin API,则可以使用CREATE命令设置configSet 。 例如,
http://localhost:8983/solr/admin/cores?action=CREATE&name=coreX&configSet=template
创建新核心时,默认情况下,它共享现有Solr实例的配置文件。 但是您可以为新创建的内核提到不同的配置文件。 请参考http://wiki.apache.org/solr/CoreAdmin
config=different_solrconfig.xml&schema=different_schema.xml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.