2. Solr4的安装配置(最后有solr5安装配置的差异介绍)

1.Solr的安装配置

  1. Solrhome和SolrCore:
  • Solrhome是一个目录,它是Solr运行的主目录,它包括多个SolrCore目录。SolrCore目录就是Solr实例运行的配置文件和数据文件

  • Solrhome中可以包括多个SolrCore,每个SolrCore互相独立,而且可以单独对外提供搜索和索引服务(Solrhome类似于服务器安装的数据库Mysql,一个mysql数据软件中可以创建多个数据库(solrCore),这多个数据库实例相互独立,可以独立对外提供服务)

  1. Solr目录结构
  • 下载完成后,解压后得到Solr的目录,大致如下:

---根目录
    |---bin         //Solr的脚本
    |---contrib     //Solr为了增加自身功能,所添加的扩展依赖包
    |---==dist==        //Solr build过程时产生的war包和jar包,还有它它的一些依赖包
    |---docs        //文档
    |---licenses    //
    |---example     //例子程序目录
        |---solr        //配置了Solr运行时的信息,它是一个标准的Solrhome目录
            |---bin
            |---collection1     //这是一个SolrCore
                |---conf                //该SolrCore的运行配置信息
                |---data                //该目录主要存储了索引文件,刚刚下下来是没有是没有的,需要创建
            |---solr.xml        //....
            |---...
        |---multicore   //可以配置多个SolrCore目录
        |---webapps     //例子程序目录
            |---solr.war
        |---...
    |---...

  1. 创建SolrCore
  • 创建SolrCore需要先创建SolrHome:拷贝${solr_home}/example/solr到指定目录,为避免重名,可以将拷贝后的目录改名(例如SolrHOme),拷贝后的SolrHome默认就有一个SolrCore(名字就是collections)

2.Solr部署到Tomcat中

  • solr需要运行在一个Servlet容器中,它默认通过了一个servlet容器(jetty),实际项目中大多使用tomcat

下面${solr_install}目录表示solr的安装目录,不是solrhome的目录

  1. 把solr的war部署到tomcat中:直接将${solr_install}/example/webapps/solr.war拷贝到tomcat的webapps目录

  2. 将solr.war解压

  3. 添加需要的扩展包(主要是日志包):将${solr_install}/example/lib/ext下的几个jar包拷贝到${tomcathome}/webapps/solr/WEB-INF/lib目录下,${tomcathome}/webapps/solr即是solr.war解压后的目录,

  4. 添加log4j的配置文件:第三部添加的日志jar包使用的log4j日志,需要添加log4j.properties文件,我们将${solr_install}/example/resources目录下的log4j.properties文件拷贝到{tomcathome}/webapps/solr/WEB-INF/classes目录,classes是javaweb项目存放字节码文件的目录,没有该文件的话,手动创建即可

  5. 修改web.xml文件并制定solrhome的目录: 修改{tomcathome}/webapps/solr/WEB-INF/web.xml文件中的env-entry属性,并指定env-entry-value的值为我们刚才拷贝出来的solrhome的路径:E:\KSoft\Solr_Resp\SolrHome

 <env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>E:\KSoft\Solr_Resp\SolrHome</env-entry-value><!-- 指定solrhome的位置 -->
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
  1. 启动tomcat并进行访问: http://127.0.0.1:8080/solr , 看到如下页面就表示ok了

image


3. 界面功能介绍

  1. Analysis:分词

image

  1. Document:通过该界面操作,可以对索引库进行添加、删除、修改索引操作

image

  1. Query:查询

image


4. 多SolrCore配置

  • 一个Solr工程可以配置多个SolrCore实例

配置多个solrCore实例的优点:

  1. 一个Solr工程配置多个SolrCore,而且每个SolrCore之间是相互独立的,可以单独对外提供搜索和索引服务。这类似于数据库,一个数据库可以有多个数据库实例,如果有新的需求,可以直接扩展实例
  2. 多SolrCore在管理索引文件时,可以进行分类管理(比如对商品、订单进行拆分)
  3. 使用SolrCloud(solr集群)必须要建立多SolrCore
  • 复制solrhome下的collection1到本目录下,并且更改名称(比如collection2),然后修改collection2目录下core.properties,将name改成collection2即可,重启solr服务

  • 由于collection2是从collection1复制过来,collection1中有内容,此时collection2的内容不为空


5. solr5安装配置

  1. Solr5之后不再提供solr.war,但是提供了在server\solr-webapp目录下还是提供webapp这个发布后的项目文件夹

  2. 位于server/solr目录对应的是solr4的solrhome目录,不过solr5没有再提供collection,需要我们创建一个core(也非常简单,新建一个目录,将configsets\sample-techproducts-configs目录下的conf拷贝到新建的目录下,可以手动添加core.properties这个文件,也可以在控制台添加这个core,名称就是新建目录的名称,完成创建后会自动创建这个core.properties)

  3. 关于schema.xml文件:solr5不再默认使用schema.xml而是managed-schema,可以很简单的改成schema.xml文件,复制managed-schema重命名为schema.xml(没错,就是直接复制~~~),然后打开Core/conf下的solrconfig.xml文件

<!-- 
//这个注释掉,
 <schemaFactory class="ManagedIndexSchemaFactory">
    <bool name="mutable">true</bool>
    <str name="managedSchemaResourceName">managed-schema</str>
  </schemaFactory>
 -->
 
 <schemaFactory class="ClassicIndexSchemaFactory" /><!-- 添加这个 -->

转载于:https://my.oschina.net/maiomiao/blog/879995

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值