本安装过程是基于http://www.cnblogs.com/AndreMouche/archive/2011/07/06/2099390.html安装solr的基础上展开的。
1.只要将example/multicore拷贝到某个目录,以此目录作为solr.home:
这里我将该文件拷贝到了/var/lib/tomcat6/下:
sudo cp -R software/apache-solr-1.4.1/example/multicore/ /var/lib/tomcat6/
2.然后设置”solr.home=/path/to/multicore”:
根据上次部署的solr情况,找到 /var/lib/tomcat6/webapps/solr/WEB-INF/web.xml,找到部署solr-home所在位置的代码块,修改为multicore对应的目录
即修改为如下代码块,红色部分为修改部分
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/var/lib/tomcat6/multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/var/lib/tomcat6/multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
注意:如果在部署solr时,不是直接在WEB-INF/web.xml文件中配置solr-home,则直接到原来部署solr.home的文件修改即可
3. 设置tomcat6访问multicore的权限: sudo chown -R tomcat6:tomcat6 /var/lib/tomcat6/multicore/
4.重启tomcat,打开solr的admin界面若看到出现多个core,表明已成功。
core的配置。
A.管理core的数量
这里,我在原有的基础上新增了core2,步骤如下:
a.在multicore/目录下新建core2目录,拷贝core1下的conf到core2下。
b.修改solr.xml文件部分信息如下:
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" /><core name="core1" instanceDir="core1" />
<core name="core2" instanceDir="core2" />
</cores>
B.对每个core的理解与配置:
每个core目录下的conf文件对应于未使用multicore时的conf文件,配置方法与原先一致。
对3的补充说明:
注意存放索引的data文件权限,必须赋予tomcat6可修改的权限,否则访问时会出现类似无法找到core信息的错误。
根据我的安装情况,我采用的是将索引放在默认data文件下,即每个core的存放索引的文件data将出现在其所在的core目录下.
但此时查看multicore的每个core目录下会发现,只有conf文件,而并没有所谓的data文件夹,需要自己建么?可以自己建,但必须赋予tomcat6修改这些data文件夹的权限
这里我用了一个比较偷懒的方法是,直接赋予tomctat6修改multicore的权限,这样服务器运行时,会自动在每个core先建立data文件存放索引。
注意:每次修改配置文件后,如想看到改变的效果,必须重启tomcat. 或者修改tomcat的配置文件,使得其能自动更新。