solr8.0.0和tomcat8.5.40的整合,完整版
我是个菜鸟。
前段时候公司给个任务做solr,作为菜鸟的我开始了我的solr征途,第一步整合solr和tomcat。
不知道为什么,我想吐槽下,在晚上搜了大把的帖子博客,介绍两者的整合。可气的是就是没有一个能让我成功整合,说出来不怕笑话,我整合这两个东西花了整整两天时间。。。本来也忙没时间也博客。机缘巧合,最近让我写solr的部署文档,我这就把完整的步骤记录在这里。和大家一起分享。
我感觉之前尝试那么多之所以不成功,就是版本不一致导致的各种问题。在此提醒自己 也提醒各位,整个两个东西,第一步就是要确定版本。所以我才在标题加上了具体的版本号!!
废话不多说,开干
1.把solr-8.0.0目录下的server/solr-webapp/webapps放置到tomcat/webapp的目录下,重命名为solr。如下图
2.将solr-8.0.0\server\lib\ext下的jar包拷贝到tomcat里的webapps\solr\WEB-INF\lib下
如下图
2.1将solr-8.0.0\server\lib下 metrics开头的5个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下
2.2将solr-8.0.0\dist下 一下2个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下
3.在tomcat里的webapps\solr\WEB-INF下创建classes文件夹,将solr/server/resources下的jetty-logging.properties和log4j2.xml拷贝到新建的classes文件夹下,如图:
在磁盘根目录创建solrhome文件夹,把solr-8.0.0 里面的solr文件夹下的内容放入solrhome
5.修改webapps\solr\WEB-INF\web.xml里的solr\home路径,其中value的值为你创建的solrhome的绝对路径。
5.1web.xml里这段内容是是打开的,将其注释掉:
6.启动tomcat测试
http://localhost:8091/solr/index.html#/
端口是8091注意这个,solr是已tomcat为容器启动的,访问的是tomcat的端口号,更改端口需要更改tomcat里的conf/server.xml
- 索引库的配置
1.创建Core(索引库)
1.1进入solr_home\solr目录下创建core001
1.2把solr-8.0.0\example\example-DIH\solr\solr位置的内容拷进core001目录下
再创建个data空文件夹
添加成功重启tomcat,效果如下
tomcat整合solr到此结束。
在最后启动tomcat时候可能会报错IOException。。${sys:solr.log.dir}/solr_slow_requests.log路径非法等问题。解决方法如下:
将classes下的log4j2.xml更改:将所有的${sys:solr.log.dir}替换为./logs即可
我是菜鸟,见笑了!:)