zoukankan      html  css  js  c++  java
  • Solr安装(1)

    Solr是一个基于Lucene java库的企业级搜索服务器,本文记录了solr的安装过程,版本为最新的1.4.1。

    1) 下载

        从solr的官网http://lucene.apache.org/solr/找到最新的版本1.4.1.

        解开下载的apache-solr-1.4.1.zip或apache-solr-1.4.1.tgz文件到apache-solr-1.4.1目录.


    2) 简易安装

        solr的发布包中包含一些example,为了方便的运行这些example,solr的发布包中还额外的附带了jetty以便我们可以快速的搭建一个可运行的solr实例。

        因为一切都是现成的,因此过程就很简单了, 参考solr的教程(http://lucene.apache.org/solr/tutorial.html), 步骤如下:

    1. cd apache-solr-1.4.1/example
    2. java -jar start.jar
    3. 打开浏览器访问 access http://localhost:8983/solr/admin/ 

         如果可以看到solr的搜索页面,说明solr正常运行。足够简单吧。--到这里只是最简单的Solr的安装,先体验一把。

    3) 标准安装

        上面的简易安装方式终究不能运用于正式场合,因此还是需要标准安装方式。

        solr的安装其实需要做的事情不多,因为本身就只需要运行起来是一个打包好的war包,只要配置OK就可以运行于各个web container。

        通用的solr安装步骤如下:

    1. 准备好web container 如tomcat, jetty, resin等--这里使用的是Tomcat6.0
    注意安装前先停止web container服务器。

    2. 从上面解压好的solr发布包中找到example\solr目录
    这个目录可以用来作为配置solr的模板使用
    将example\solr目录复制到其他路径,如C:\soft\solr,以后这个目录就将作为solr home使用

    注意有个文件需要修改一下,$SOLR_HOME/conf/solrconfig.xml,找到dataDir设置:

    默认为<dataDir>${solr.data.dir:./solr}</dataDir>,用的是相对路径,这个需要修改为完整路径:

    <dataDir>${solr.data.dir:C:\soft\solr\data}</dataDir>

    3. 从上面解压好的solr发布包中找到solr的war包
    apache-solr-1.4.1/dist/apache-solr-1.4.1.war(注意:这里的war读取路径)
    可以将这个war复制到solr home目录下

    4. 启动web container
    启动时有两个东西需要做到:

    4.1. 要运行的solr的webapp
    可以通过直接复制solr的war包到webapp目录,也可以通过其他方式指定这个war的路径
    总之是让web container启动solr这个应用。

    4.2. 要指明solr home(这里具体的操作方法参见下面4)部分)
    方式有3种:
    1. 设置java 的系统参数solr.solr.home(应该是solr.home,但是官网就是写成solr.solr.home)
    如 -Dsolr.solr.home=C:\soft\solr
    2. 设置JNDI lookup "java:comp/env/solr/home"
    3. 默认为./solr目录,即当前工作路径下的solr
    由于工作路径容易造成问题,因此一般不推荐这种方式。


    5. 访问solr的管理页面来验证安装是否完成

        上述步骤中其他步骤都简单,只有步骤4需要额外注意。虽然原则上都是这些内容,但是具体到不同的web container会有不同的方法。
     
        下面以tomcat和jetty为例,假定步骤1,2,3都已经完成。

    4) 安装于tomcat

        以下内容参考官网文档 http://wiki.apache.org/solr/SolrTomcat.  

        1. 修改tomcat的server.xml文件

    主要是修改监听端口,另外需要设置URIEncoding为UTF-8。

        <Connector port="8983" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8" /> (说明:这里一定要指定是UTF-8格式,否则中文分词的时候会出现乱码)

        2. 增加tomcat\conf\Catalina\localhost\solr.xml文件

    内容为:

    <?xml version="1.0" encoding="utf-8"?>
    <Context docBase="C:\soft\solr\apache-solr-1.4.1.war" debug="0" crossContext="true">
      <Environment name="solr/home" type="java.lang.String" value="C:\soft\solr" override="true"/>
    </Context>

        步骤4就完成了,使用的tomcat版本为6.28。这里要注意修改对应的$Solr_home的路径。

      

    安装完毕,可以通过http://localhost: 8983/solr/admin来访问了



    5) 安装于jetty(以下斜体部分未实验)

        以下内容参考官网文档 http://wiki.apache.org/solr/SolrJetty, 但是坦白说,这个文档的内容有点凌乱。

        jetty安装完成后,只需一个步骤,增加文件jetty\contexts\solr.xml,内容如下:


    <?xml version="1.0"  encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

    <Configure class="org.mortbay.jetty.webapp.WebAppContext">
      <Set name="contextPath">/solr</Set>
      <Set name="war">C:\soft\solr\apache-solr-1.4.1.war</Set>

      <Set name="extractWAR">true</Set>
      <Set name="copyWebDir">false</Set>
      <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>

      <Array id="plusConfig" type="java.lang.String">
        <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
        <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
        <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
        <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
        <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
      </Array>

      <Set name="ConfigurationClasses"><Ref id="plusConfig"/></Set>

      <New class="org.mortbay.jetty.plus.naming.EnvEntry">
        <Arg>/solr/home</Arg>
        <Arg type="java.lang.String">C:\soft\solr</Arg>
        <Arg type="java.lang.Boolean">true</Arg>
      </New>

    </Configure>

        主要是指定contextPath/war, 另外设置"/solr/home",注意jetty下是"/solr/home",不是"solr/home"。这里有点奇怪。

        时间有限,其他webcontainer就不一一测试了,相信原理都是一样的。
  • 相关阅读:
    一个简单XQuery查询的例子
    《Microsoft Sql server 2008 Internals》读书笔记第七章Special Storage(1)
    《Microsoft Sql server 2008 Internals》读书笔记第八章The Query Optimizer(4)
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(4)
    SQL Server中SMO备份数据库进度条不显示?
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(5)
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(3)
    《Microsoft Sql server 2008 Internal》读书笔记第八章The Query Optimizer(2)
    省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
    FireFox意外崩溃时的手工恢复命令
  • 原文地址:https://www.cnblogs.com/SingleCat/p/1802164.html
Copyright © 2011-2022 走看看