便便代码人生

关注技术, 偶尔动动手

[原] solr 1.3 multicore使用指南

Posted by bianbian on 2008-05-05 10:42

本文Tags: , ,

尽管solr 1.3还是dev版,目前还没release,它比1.2多的很多特性(特别是multicore的支持)还是让我选择了1.3(1.2用了一段时间,多个索引要复制多份,非常麻烦)。
使用基本和solr 1.2差不多,几乎没什么难度就切换到1.3了。只是多了multicore的配置:
solr/home比如设为/opt/solrs
在/opt/solrs下新建multicore.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <multicore adminPath="/admin/multicore" persistent="true" sharedLib="lib">
  3.  <core name="core0" instanceDir="core0" default="true"/>
  4.  <core name="core1" instanceDir="core1" />
  5. </multicore>


默认跑了,发现索引数据存放目录dataDir全跑到web-app容器的./solr/data目录下去了。。。。要知道multicore最关键的就是dataDir要不同。。。
参考wiki:MultiCore
上面说可以在core里加dataDir属性,于是加上,测试。ft,还是没用。
于是看solr源码,发现上面dataDir的部分根本没有读取(至少今天我svn check出来的代码里面没有,汗)。
于是跟踪源码,发现new SolrCore的时候dataDir为null,如果为null,则从SolrConfig中读取。
看到这里,知道原来得在SolrConfig中设置dataDir才行。那么SolrConfig是什么呢,就是对应到配置文件conf/solrconfig.xml:
第29行:

  1. <!-- Used to specify an alternate directory to hold all index data
  2.        other than the default ./data under the Solr home.
  3.        If replication is in use, this should match the replication configuration. -->
  4.   <dataDir>${solr.data.dir:./solr/data}</dataDir>

终于发现居然在这里设置。把这行注释掉,就默认在core/data下了。。。。
配置方式比较汗,我觉得应该支持直接在multicore.xml里设置dataDir(按wiki说明,solr 1.3也是这样想的,不过目前的dev版本未实现)。

标签: , ,

遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道

相关日志

One Response to “[原] solr 1.3 multicore使用指南”

  1. 大头娃娃 Says:

    太感谢了,在这里找到答案了,楼主是研究solr的老人了,1.2就开始研究了,佩服哦。。。

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>