使用solr start命令是在jetty容器中启动的web 服务,在并发性、稳定性方面都有很多不足。正确部署方式是把solr作为war包部署到tomcat。而solr官方并没有提供war包,所以需要手动复制一些包。
1、下载solr并解压到C盘
2、将C:\solr-7.2.0\server\solr-webapp\webapp
复制到tomcat的webapp目录下,文件夹名改为solr
3、将C:\solr-7.2.0\server\lib目录下的全部包含metrics但是不包含jetty的jar包复制到tomcat/webapp/solr/WEB-INF/lib目录下,将C:\solr-7.2.0\server\lib\ext目录下的全部jar包(日志相关jar包)也复制到tomcat/webapp/solr/WEB-INF/lib目录下。
4、编辑tomcat/webapp/solr/WEB-INF\web.xml文件
取消注释以下内容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>C:/solr-7.2.0/server/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
更改solr.home变量的值为C:/solr-7.2.0/server/solr,这一步目的是指明solr instance存放的位置。
5、为solr添加日志
复制"C:\solr-7.2.0\server\resources\log4j.properties"到tomcat/webapp/solr/WEB-INF/classes文件夹,如果没有classes文件夹,则创建之。
编辑log4j.properties,将solr.log=${solr.log.dir}
改为${user.home}/solr-log
,注意路径一律使用linux风格的斜杠,windows现在也支持linux风格的路径分隔符。
6、启动tomcat,访问localhost:8080/solr/index.html
注意一定要带着html,因为solr拦截了/
请求。