Solr快速新建core流程

来源:互联网 发布:怎么查询端口号 server 编辑:程序博客网 时间:2024/06/08 20:04

        今日搜索业务上有个新需求,希望能够满足新数据库表的搜索功能,该表结构和之前线上运营的表结构不同,最终域也不可能一致,再者使用用户群也不同,所以只能考虑有独立的新搜索服务。我们知道,为了实现同一个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.xmlsolrconfig.xml


4. 新core的访问接口

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


0 0
原创粉丝点击