[搜索] Solr (一) 简介及安装

Solr简介及下载

Solr与Lucene

Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。

了解Solr

使用Apache Solr实现更加灵巧的搜索 (Lucene Java™ 的提交人 Grant Ingersoll):

Solr下载http://lucene.apache.org/

下载解压后的solr包下包含几个文件夹:

  • dist:build过程中产生的war和jar文件,以及相关的依赖文件。需要部署时,其实就是将该目录下面的apache-solr-1.4.war部署到Jetty上面去,并重命名为solr.war
  • example:Jetty的安装目录。其中包含了一些样例数据和一些Solr的配置
  • contrib:有一些功能模块所需要的jar包

Solr安装

Solr安装http://www.cnblogs.com/qiyebao/p/3880121.html (测试可用)

我的Solr单核安装

  1. 在D盘下创建目录 D:\solr , 在 solr文件夹下创建两个文件夹:home(存放solr实例运行目录)、server(solr服务目录)
  2. 解压solr-4.10.0文件:将example/solr文件夹中的所有文件(不含solr文件夹本身),拷贝到D:\solr\home目录下;将dist目录下的solr-4.10.0.war 拷贝到D:\solr\server目录下,重命名为solr.war,并手动解压<解压到“solr\”>。
  3. 整合tomcat,配置solr.home环境变量。两种方式(二选一即可):
    1. 修改D:\solr\server\solr\WEB-INF下的web.xml文件,添加env-entry结点(默认是注释掉的)
      <env-entry>
          <env-entry-name>solr/home</env-entry-name>
          <env-entry-value>D:/solr/home</env-entry-value>
          <env-entry-type>java.lang.String</env-entry-type>
      </env-entry>
    2. 基于JNDI的配置方式,修改D:\tomcat-7.0.56\conf下的server.xml文件,添加一个Context结点(在<Host>结点中)
      <Context docBase="D:\solr\server\solr" path="/solr" reloadable="false" >
          <Environment name="solr/home" type="java.lang.String" value="D:\solr\home" override="true" />
      </Context>
  4. 添加jar包:将解压后的solr-4.10.0文件夹下example/lib/ext下的jar包拷贝到solr服务的lib目录下,对应本机D:\solr\server\solr\WEB-INF\lib
  5. 启动Tomcat之后,在地址栏输入:http://localhost:8080/solr

Solr多核配置安装 ☆

为什么要采用多核?

Solr1.3引入了Solr core的概念,该方案使用一个Solr实例管理多个indexes,这样就有热点core(hot core)的重读(reloading)与交换(swap,通常是读index与写index交换),那么管理一个 core或index也容易些。每个Solr core由它自己的配置文件和索引数据组成。在多core执行搜索和索引几乎和没有使用core一样:

多核搜索时并非在URL中引入core name的参数名值对,而是用不同的context。这样就可以像在单core中执行你的管理任务,搜索,更新操作

怎么配置多核

  1. 将解压后solr-4.10.0文件夹example/multicode下的文件拷贝到存放solr实例的运行目录下,对应本机D:\solr\home。
  2. 自定义多核(即索引库)名称:拷贝过来的多核文件,默认为code1、code2,可以自定义为其他名称如april、ch,但需修改同文件夹下的solr.xml文件
    <solr persistent="false">
       <!--
        adminPath: RequestHandler path to manage cores.  
        If 'null' (or absent), cores will not be manageable via request handler
       -->
       <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
        	<core name="april" instanceDir="april" />
        	<core name="core1" instanceDir="ch" />   
        	<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
          		<str name="urlScheme">${urlScheme:}</str>
        	</shardHandlerFactory>
       </cores>       
    </solr>
  3. 自定义多核存放索引数据的位置:按上面solr.xml中的配置,多核索引数据存放于code名/data目录下,data文件夹为默认创建,若要自定义索引data库位置,参照
    <core name="core0" instanceDir="core0">
        <property name="dataDir" value="/data/core0" />
    </core>
    <core name="core1" instanceDir="core1">
        <property name="dataDir" value="/data/core1" />
    </core>

注:

  • core0、core1../conf目录下有schema.xml与solrconfig.xml,可以把实际应用的/solr/conf/schema.xml复制过来(注意:solrconfig.xml不要复制)
  • 如果已经配置了单核,可以直接把solr实例运行目录下对应本机D:/solr/home下collection1文件夹(这就是一个实体)复制一份,并修改solr.xml,就变成了多核( 推荐在单核的基础上配置多核,因为collection1下的停词器啊之类的文件以及配置文件都很完整)
  • 请尽可能配置为多核

接下来?



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值