solr进阶二:新建core

来源:互联网 发布:缠中说禅诗词知乎 编辑:程序博客网 时间:2024/06/05 07:42

      在solr的开发包里面的示例文件夹里面,有multicore(多核)这个例子。

       把其中的一个core文件夹复制粘贴到我们的solr工作空间目录中就可以了。这个工作空间目录就是我们前面在apache-tomcat-6.0.43\webapps\solr\WEB-INFweb.xml文件里面设置的信息,如下:

<span style="font-size:24px;"><env-entry>       <env-entry-name>solr/home</env-entry-name>       <env-entry-value>E:/solr_tomcat/solr</env-entry-value>       <env-entry-type>java.lang.String</env-entry-type></env-entry></span>

     我这里拷贝core1,放到这个目录下,如下图:

     现在看看core1下面都有什么,这时候里面就一个conf文件夹,什么都没有。在core1/conf里面也就2xml文件,分别是schema.xmlsolrconfig.xmlschema.xml定义了core1的field类型和名称,field就像数据库的字段,field的类型就像数据库的字段类型,field的名称就像数据库的字段名称;

     solrconfig.xml描述了core1管理配置,比如指定索引文件的存储位置、日志文件的存储位置、使用什么管理器等。启动solr服务,进入solr的管理界面,选中core Admin栏,如下图:

     点击Add Core按钮,在弹出的界面中把nameinstanceDir的值改为core1,也就是我们上面拷贝到工作目录下的那个core1文件夹的名称,点击那个蓝色的Add Core按钮。


     此时,就成功添加了一个core了。

     回到工作目录下的core1文件夹,发现多出一个data文件夹和一个core.properties文件。这2个东西就是我们在solr的管理页面操作的时候solr自己给我们创建的。我们为什么在管理页面能够看到core0solr服务如何知道$SOLR_HOME$下面有个core0,其实还是core.properties在发挥作用。其实我们可以通过手动写core.properties来完成新建core


================================================================

手动新建core

 

     在工作目录下新建li_core文件夹,然后在li_core文件夹下面再建立一个conf文件夹,把示例core1里面的conf下面的2xml文件拷贝到新建的li_core/conf文件夹下面;最后在li_core下面新建一个core.properties文件配置如下:

<span style="font-size:24px;">#Written by Lhx#Wed Dec 03 16:14:13 CST 2014name=core2config=solrconfig.xmlschema=schema.xmldataDir=data</span>

     重启solr服务,便在solr的管理页面看到我们新建的core2了。注意一点:core的名称和core的文件夹可以不一样,但是最好定义为一样的,方便管理。像上面手动建立的core2,其实core文件夹名称是li_core,这样的设计对维护很不友好,最好把文件夹名称改为core2或者把core的名称改为li_core




后记:


     手动新建core的时候,我把conf文件夹写成了config文件夹,浏览solr网页的时候日志报出了错误,没有成功加载配置文件:



     这就有点奇怪了!我进入这个solrconfig.xml文件里面,把框起来这两行都改成自己的core名称了,因为从示例那里拷贝来是显示core1的。




    可是重启后是一样的错误,再改为li_core,还是一样的错误。最后还是在tomcat那里查看错误日志,那上面显示的更明白,我也就知道我把文件夹名称写错了。



最后发现:

 <dataDir>${solr.core0.data.dir:}</dataDir>

这句改不改都对是否能加载新的core没有任何影响!




0 0
原创粉丝点击