Solr在Tomcat中的部署

 

(一)准备工作:

1、JDK,1.5以上版本,配好环境变量;

2、solr-4.3.0.zip,解压缩得solr-4.3.0文件夹;

3、apache-tomcat-7.0.37-windows-x64.zip,解压缩得apache-tomcat-7.0.37文件夹。

 

(二)Solr基本配置:

1、准备solr.war:

将…\solr-4.3.0\dist\solr-4.3.0.war复制到…\apache-tomcat-7.0.37\webapps目录下,改名为solr.war,解压solr.war文件(可选的一种解压方式:先启动tomcat,再关闭tomcat);

2、配置solr_home:

  a)在…\apache-tomcat-7.0.37\webapps\目录下新建文件夹solr_home,然后将…\solr-4.3.0\example\solr目录下的collection1和solr.xml复制到solr_home目录下;

  b)打开文件…\apache-tomcat-7.0.37\webapps\solr\WEB-INF\web.xml,添加如下代码(如果已有相关代码,修改<env-entry-value>的value到自己的配置即可,其中,${catalina.base}\webapps\solr_home是之前配置的sole_home路径):

  <env-entry>

    <env-entry-name>solr/home</env-entry-name>

    <env-entry-value>${catalina.base}\webapps\solr_home</env-entry-value>

    <env-entry-type>java.lang.String</env-entry-type>

  </env-entry>

  c)打开文件…\solr_home\collection1\conf\solrconfig.xml,找到event="firstSearcher"的listener,将<str name="q">static firstSearcher warming in solrconfig.xml</str>改为<str name="q">*:*</str>;

  d)…\solr-4.3.0\contrib和…\solr-4.3.0\dist两个目录拷贝到…\apache-tomcat-7.0.37目录下;

如果是solr4.2以前的版本,到这里已经配置完成了,由于solr4.3的日志模块与以前的版本不同,所以对于solr4.3还需要配置。

3、配置solr的log:

  a)将…\solr-4.3.0\example\lib\ext目录下的所有jar包(共5个)复制到…\apache-tomcat-7.0.37\webapps\solr\WEB-INF\lib目录下;

  b)在…\apache-tomcat-7.0.37\webapps\solr\WEB-INF目录下,新建classes文件夹,将…\solr-4.3.7\example\resources目录下的log4j.properties文件复制到刚创建的classes文件夹下;然后,有一个可选的配置log输出目录的操作,因为tomcat默认的相对目录是在bin下面,可根据需要配置logs目录,即修改log4j.properties,将“log4j.appender.file.File=”的值改为“../ logs/solr.log”,这样log就会写在…\apache-tomcat-7.0.37\logs目录下;

4、基本配置完成:

  启动tomcat,在浏览器中访问http://localhost:8080/solr,即可看到solr的管理界面。至此,solr已可用。

 

(三)项目定制配置:

1、修改solr.xml、schema.xml、solrconfig.xml以及配置core目录等;

         根据项目需求配置。

2、若要使用solr自带的中文分词类Solr. SmartChineseSentenceTokenizerFactory,需将…\solr-4.3.0\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-4.3.0.jar拷贝到…\apache-tomcat-7.0.37\webapps\solr\WEB-INF\lib目录下。

 

(四)可能出现的问题:

1、  启动tomcat时,日志有如下异常:

  org.apache.solr.common.SolrException: undefined field text

  原因:配置solr_home\xxx\conf\solrconfig.xml时,没有把<str name="q">static firstSearcher warming in solrconfig.xml</str>改为<str name="q">*:*</str>

2、  启动tomcat时,日志有类似于如下形式的警告:

  WARN  - 2014-01-15 10:41:48.781; org.apache.solr.core.SolrResourceLoader; Can‘t find (or read) directory to add to classloader: ../../../contrib/extraction/lib (resolved as: D:\ProgramingSoftware\Apache\Tomcat\apache-tomcat-7.0.37\webapps\solr_home\collection1\..\..\..\contrib\extraction\lib).

  WARN  - 2014-01-15 10:41:48.797; org.apache.solr.core.SolrResourceLoader; Can‘t find (or read) directory to add to classloader: ../../../dist/ (resolved as: D:\ProgramingSoftware\Apache\Tomcat\apache-tomcat-7.0.37\webapps\solr_home\emailstash\..\..\..\dist).

  原因:看提示是说contrib和dist目录找不到,需要将…\solr-4.3.0目录下的contrib、dist两个文件夹拷贝到…\apache-tomcat-7.0.37目录下。

 

参考:

[1]. solr-4.3.0 和 tomcat7配置

[2]. solrcloud使用问题记录

Solr在Tomcat中的部署

上一篇:linux 标准化


下一篇:2、转载一篇,浅析人脸检测之Haar分类器方法