当前位置: 代码迷 >> Web前端 >> solr 装配(一)
  详细解决方案

solr 装配(一)

热度:868   发布时间:2012-09-04 14:19:30.0
solr 安装(一)

首先下载tomcat和solr:?
???? tomcat 7.0
???? solr 3.5.0?

??? 使用目前网上最常见的安装方法。最初我按按照这篇文章配置的,相当简单实用。http://www.cnblogs.com/cy163/archive/2009/09/18/1569681.html

solr siki:http://wiki.chenlb.com/solr/doku.php?id=solrinstall

之后按照solrwiki上的说明,自己重新进行按照和配置,具体如下:

1. 安装tomcat,直接解压即可,我放到了c盘。

2. 解压下载的solr压缩包,将apache-solr-3.5.0\dist\apache-solr-3.5.0.war 文件复制到C:\apache-tomcat-7.0.22\webapps目录下,并重命名为solr.war 。

3. 配置tomcat。打开C:\apache-tomcat-7.0.22\conf\server.xml文件,找到port=8080那部分,加上URIEncoding="UTF-8";,这对解决solr中文问题至关重要。

<Connector port="8080" protocol="HTTP/1.1"   
           connectionTimeout="20000"   
           redirectPort="8443" URIEncoding="UTF-8"/>   

?

4. c盘新建一个apache-solr目录,把apache-solr-3.5.0\example\solr目录复制到该目录下,该目录将作为solr.home 。

5. 配置solr.home。在apache-tomcat-7.0.22\conf\Catalina\localhost目录先新建一个solr.xml文件。如果上述目录不存在,手动建立即可。solr.xml的内容如下:?

<Context docBase="C:/apache-tomcat-7.0.22/webapps/solr.war" reloadable="true" >
? <Environment name="solr/home" type="java.lang.String" value="C:/apache-solr/solr" override="true" />
</Context> 

?
??? ok,配置结束。启动tomcat,打开 http://localhost:8080/solr/即可看到熟悉的tomcat,打开 http://localhost:8080/solr/ 即是solr的主页面。?

??? 实际情况是,打开http://localhost:8080/solr/ 看到的是server 500错误,相当纠结。按照之前文章的方法没有任何问题。仔细看错误信息后方法,是solr指定的包没有找到。


??? 打开C:\apache-solr\solr\conf目下的solrconfig.xml文件,找到

<!-- A dir option by itself adds any files found in the directory to
       the classpath, this is useful for including all jars in a
       directory.
    -->
  <lib dir="../../contrib/extraction/lib" />
  <lib dir="../../contrib/clustering/lib/" />
  <lib dir="../../contrib/velocity/lib" />

  <!-- When a regex is specified in addition to a directory, only the
       files in that directory which completely match the regex
       (anchored on both ends) will be included.
    -->
  <lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" />
  <lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" />
  <lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
  <lib dir="../../dist/" regex="apache-solr-langid-\d.*\.jar" />
  <lib dir="../../dist/" regex="apache-solr-velocity-\d.*\.jar" />

  <!-- If a dir option (with or without a regex) is used and nothing
       is found that matches, it will be ignored
    -->
  <lib dir="../../contrib/clustering/lib/" />
  <lib dir="/total/crap/dir/ignored" />

?

??? 可以看到,lib引入了apache-solr-3.5.0目录下contrib和dist两个目录下的包,当使用apache-solr-3.5.0\example\solr作为solr.home时,可以正确的找到这些包。另外配置solr.home时,需要把这些文件也引入进来。把apache-solr-3.5.0目录下contrib和dist两个文件夹一起复制到C:\apache-solr目录下,然后打开C:\apache-solr\solr\conf目下的solrconfig.xml,修改如下:

<!-- A dir option by itself adds any files found in the directory to
       the classpath, this is useful for including all jars in a
       directory.
    -->
  <lib dir="../contrib/extraction/lib" />
  <lib dir="../contrib/clustering/lib/" />
  <lib dir="../contrib/velocity/lib" />

  <!-- When a regex is specified in addition to a directory, only the
       files in that directory which completely match the regex
       (anchored on both ends) will be included.
    -->
  <lib dir="../dist/" regex="apache-solr-cell-\d.*\.jar" />
  <lib dir="../dist/" regex="apache-solr-clustering-\d.*\.jar" />
  <lib dir="../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
  <lib dir="../dist/" regex="apache-solr-langid-\d.*\.jar" />
  <lib dir="../dist/" regex="apache-solr-velocity-\d.*\.jar" />

  <!-- If a dir option (with or without a regex) is used and nothing
       is found that matches, it will be ignored
    -->
  <lib dir="../contrib/clustering/lib/" />
  <lib dir="/total/crap/dir/ignored" />

?

??? ok,现在启动tomcat,打开http://localhost:8080/solr/ 即可看见solr的主页面了。

  相关解决方案