环境要求
- solr7.3
- jdk8
- tomcat8
- windows10
填坑:从solr4之后jdk必须是8以上,solr5之后要用tomcat8以上否则会有坑
一、准备工作
1、下载solr7:http://archive.apache.org/dist/lucene/solr/
下载tomcat8:https://tomcat.apache.org/download-80.cgi
2、建立一个文件夹,将tomcat和solr分别解压到里面
solr内置jetty,启动很简单,只需要在bin中启动cmd,执行命令solr start即可。默认使用8983端口启动,浏览器访问http://localhost:8983/solr/index.html即可看到主页。(如果不使用tomcat的话后面的教程可以跳过)
二、开始搭建
集成tomcat
1、将D:\solr\solr-7.3.0\server\solr-webapp文件夹下的webapp复制到D:\solr\apache-tomcat-8.5.32\webapps下并改名为solr(名字无所谓主要用于区分)这一步是为了将solr的应用程序放入tomcat中
2、完成上一步后启动tomcat,访问http://localhost:8080/solr/index.html(solr主页)会发现报错,查看tomcat的日志你会发现错误信息:java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSet ,这是缺少jar包,下面是需要用到的jar包及对应的位置:
\solr-7.3.0\server\lib的.jar、\solr-7.3.0\server\lib\ext的.jar、\solr-7.3.0\dist里的solr-dataimporthandler-7.3.0.jar和solr-dataimporthandler-extras-7.3.0.jar,复制到\apache-tomcat-8.5.32\webapps\solr\WEB-INF\lib里
3、配置log日志:
\solr-7.3.0\server\resources的log4j.properties复制到\apache-tomcat-8.5.32\webapps\solr\WEB-INF\lib\classes里,如果没有classes文件夹则自建一个
修改log4j.properties里的solr.log=${solr.log.dir},将${solr.log.dir}改成自己定义的路径,如D:\solr\logs,否则启动tomcat时会爆出java.io.FileNotFoundException: \solr.log (拒绝访问。)
4、配置solr的web.xml
找到\apache-tomcat-8.5.32\webapps\solr\WEB-INF\web.xml,找到如下图这一段打开注释,并将
改为
然后在web.xml最底下将
5、上一步配置的core核心路径(D:\solr\solrHome),将\solr-7.3.0\server\solr里的solr.xml和zoo.cfg复制到此路径,在此路径下新建一个文件夹名为collectionA(作为一个core核心)
然后将\solr-7.3.0\example\example-DIH\solr\solr路径下的conf和core.properties复制到此collectionA下
此操作是为了添加一个solr core核心(conlletionA)。
启动tomcat成功。访问主页http://localhost:8080/solr/index.html显示如下图
点击core admin 可以看到刚刚我们自己配置的core collectionA,到此环境搭建完成