假设已经配置好了一个单core的solr服务器.
solr.xml配置文件
单核和多核主要在solr.xml配置不同.在solr/example中已经有一个名称为multicore的文件夹里面给我们配置好了一个两个核心的配置,分别是core1
和core2
.但是我只是想在我已经配置好的solr服务器上添加一个核心.所以需要拷贝solr.xml配置到tomcat/solr文件夹
/solr-4.10.1/example/multicore$ sudo cp solr.xml /usr/local/tomcat/solr/
在solr.xml里面和单核心不同在于节点cores下面,
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
.....
<core name="coren" instanceDir="coren"/>
name为core名称,instanceDir为core的目录.将名称和目录修改成对应的名称和目录即可.名字和目录名称可以使随意的.
创建core1的目录
比如我第一个core的名字和目录都为collection1
,第二个打算为core1.那么solr.xml中的配置就是
<core name="collection1" instanceDir="collection1" />
<core name="core1" instanceDir="core1" />
这里我们需要一个core1的目录,每个core目录里面都必须包含一个data目录,用来存储索引文件.包括一个conf目录,用来存储配置文件.
conf目录里面需要包括schema.xml
和solrconfig.xml
两个基本的配置文件.conf目录可以直接拷贝一个基本的配置来自己修改.
进入/tomcat/solr目录,执行以下命令
sudo mkdir -p core1/data
cd core1
sudo mkdir conf
sudo cp -rf ../collection1/conf/* conf/ #这里我直接拷贝的collection1的配置
在gui界面添加
点击Core Admin
->Add Core
,在new_core和instanceDir里填写core1
,其他不变,点击按钮Add Core
,加载后,就可以再界面上管理添加的core了.
在回到刚刚创建的core1目录.这里已经创建了一个core.properties
的文件.内容为:
#Written by CorePropertiesLocator
#Tue Dec 02 06:21:36 UTC 2014
name=core1
config=solrconfig.xml
schema=schema.xml
dataDir=data
重启tomcat.如果发现一下错误.是由于solr.xml文件中没有添加指定的core节点
There exists no core with name "core1"
关于solr多核的详情wiki
Quick Review: What are Multiple Cores?