(一)准备工作:
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目录下。
参考:
[2]. solrcloud使用问题记录