Solr快速新建core流程

 

        今日搜索业务上有个新需求,希望能够满足新数据库表的搜索功能,该表结构和之前线上运营的表结构不同,最终域也不可能一致,再者使用用户群也不同,所以只能考虑有独立的新搜索服务。我们知道,为了实现同一个solr实例可以满足多种搜索索引并存,solr早在1.3版本就建立了多核(MultiCore)的机制。现在我使用的是4.10.0版本的solr,已经相当成熟,早已实现core的配置文件的动态修改和加载接口,也有了在线新增core的功能。为了避免遗忘,特此记录“如何快速新建core”。


1. 创建core路径和配置文件

    进入线上core运行的solr_home路径,该路径在web.xml中的<env-entry>配置,如下

 

<env-entry>
  	<description>配置solr/home</description>
  	<env-entry-name>solr/home</env-entry-name>
  	<env-entry-type>java.lang.String</env-entry-type>
  	<env-entry-value>/usr/local/mysearch/mytest</env-entry-value>
</env-entry>

 

在该路径下创建一个新的core,所需文件和层级如下

test_core

   |-- conf

       |-- schema.xml

       |-- solrconfig.xml

   |-- data

其中,solrconfig.xml如果没有特殊需求,可不做修改;schema.xml则根据新的需求,修改索引域相关信息。如果是使用数据库的数据建索引,则还需要在conf路径下加入data-config.xml文件(该文件不是在这一步必须添加的),该文件记录的是数据库连接配置和数据查询语句。

 

2. 界面创建core

    Solr的优势就在于不仅很好的实现了类web-service的接口开发,其界面也已提供了很好的接口操作。如下图,我们只需要点击Add Core,即可新建新core,该core是基于第一步建立的配置文件。

 

 

 

3. 在线修改配置文件

这一步已经和在线新建core没有太大的关系,但是有时候我们会碰到需要修改数据库连接或者修改数据索引字段/域的问题,也不希望重启tomcat服务,这时候,通过solr API也是可以快速解决的。

热加载data-config.xml

热加载schema.xml和solrconfig.xml

 

 

 

4. 新core的访问接口

    新core的http访问和之前core是一致的,http://ip:port/web应用服务名/core/select?q=......

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值