Solr4:Tomcat7与Solr之多核配置(Multiple Cores)

1. 背景

多核,官方说法,让你只用一个Solr实例,实现多配置多索引的功能,为不同的应用保留不同的配置。
就是每个core都有独立的solrconfig.xmlschema.xml,却依然保留统一与方便的管理。
每份索引都可以当做一个独立的应用来对待,甚至可以实现索引的热切换。
比如说,为新闻、微博、论坛搜索各建立一个搜索系统,用多核的情况。
参考:http://wiki.apache.org/solr/CoreAdmin

2. 实现步骤

前提已经安装好Tomcat与Solr应用,详情参考阅读Solr4:Tomcat7下面配置Solr
1). 停止Tomcat,删除当前$SOLR_HOME下面全部内容,然后拷贝~/solr/example/multicore目录到$SOLR_HOME(本文中为/usr/local/solr/);

2). $SOLR_HOME/solr.xml应该类似于如下形式:

<solr persistent="true" sharedLib="lib">
 <cores adminPath="/admin/cores">
    <core name="wb" instanceDir="wb" />
    <core name="bbs" instanceDir="bbs" />
    <core name="news" instanceDir="news" />
 </cores>
</solr>

记得为每个目录拷贝相关文件。如:拷贝core0到wb/bbs/news,删除原先有的core0与core1。

3). 这样启动Tomcat应该就可以使用了。
打开:http://192.168.2.91:8080/solr/,然后在左边可以看到wb/bbs/news链接,即可以执行相关操作。

4). 自定义各个core的conf目录下面的schema.xml文件,加入自己的配置,如增加types,可能需要将~solr\example\solr\collection1\conf目录下的部分内容拷贝到各个core的conf等目录下;
比如加入中文分词mmseg4j,可以将它的data目录拷贝到$SOLR_HOME/mm4jdic下面,然后在schema.xml中的fieldType节点中配置dicPath即可。详情参考阅读Solr4:加入中文分词mmseg4j

3. 相关操作

3.1 插入数据

java -Durl=http://192.168.2.91:8080/solr/news/update -jar post.jar news.xml
java -Durl=http://192.168.2.91:8080/solr/bbs/update -jar post.jar bbs.xml
java -Durl=http://192.168.2.91:8080/solr/wb/update -jar post.jar wb.xml

3.2 删除数据

java -Ddata=args -Durl=http://192.168.2.91:8080/solr/news/update -Dcommit=false -jar post.jar "<delete><query>*:*</query></delete>"
java -Durl=http://192.168.2.91:8080/solr/news/update -jar post.jar -

java -Ddata=args -Durl=http://192.168.2.91:8080/solr/bbs/update -Dcommit=false -jar post.jar "<delete><query>*:*</query></delete>"
java -Durl=http://192.168.2.91:8080/solr/bbs/update -jar post.jar -

java -Ddata=args -Durl=http://192.168.2.91:8080/solr/wb/update -Dcommit=false -jar post.jar "<delete><query>*:*</query></delete>"
java -Durl=http://192.168.2.91:8080/solr/wb/update -jar post.jar -

3.3 查询数据

通过http://192.168.2.91:8080/solr选择相关core后查询即可。

posted @ 2013-01-18 17:14  那些年的事儿  阅读(1998)  评论(0编辑  收藏  举报