Solr(一): 在 Tomcat7 上安装
创建 solr 安装目录
# mkdir -p /opt/solr
解压缩
# unzip solr.zip -d /opt/solr
这时,可以直接使用 jetty 启动
# cd /opt/solr/example
# java -jar start.jar
或者部署 war 到 tomcat
cp /opt/solr/example/webapps/solr.war /opt/tomcat/webapps
启动 tomcat,会遇到一个错误
Context [/solr] startup failed due to previous errors
查看 localhost.yyyy-mm-dd.log 会发现是一个 SLF4j 的问题
org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars.
If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory.
For other containers, the corresponding directory should be used.
要解决这个问题,执行以下步骤
# cp /opt/solr/example/lib/ext/* /opt/tomcat/webapps/solr/WEB-INF/lib
# mkdir -p /opt/tomcat/webapps/solr/WEB-INF/classes
# cp /opt/solr/example/resources/log4j.properties /opt/tomcat/webapps/solr/WEB-INF/classes
最后,需要设置 solr/home,这里直接指向 /opt/solr/example/solr,只需要修改 solr 的 web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/opt/solr/example/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
中文的问题,需要修改 tomcat 的 server.xml,在 Connector 中增加以下参数
URIEncoding="UTF-8"
这时,可以再次启动 tomcat 了。