solr8.0.0和tomcat8.5.40的整合,完整版

我是个菜鸟。

前段时候公司给个任务做solr,作为菜鸟的我开始了我的solr征途,第一步整合solr和tomcat。

不知道为什么,我想吐槽下,在晚上搜了大把的帖子博客,介绍两者的整合。可气的是就是没有一个能让我成功整合,说出来不怕笑话,我整合这两个东西花了整整两天时间。。。本来也忙没时间也博客。机缘巧合,最近让我写solr的部署文档,我这就把完整的步骤记录在这里。和大家一起分享。

我感觉之前尝试那么多之所以不成功,就是版本不一致导致的各种问题。在此提醒自己 也提醒各位,整个两个东西,第一步就是要确定版本。所以我才在标题加上了具体的版本号!!

废话不多说,开干

1.把solr-8.0.0目录下的server/solr-webapp/webapps放置到tomcat/webapp的目录下,重命名为solr。如下图

solr8.0.0和tomcat8.5.40的整合,完整版

2.将solr-8.0.0\server\lib\ext下的jar包拷贝到tomcat里的webapps\solr\WEB-INF\lib下

如下图

solr8.0.0和tomcat8.5.40的整合,完整版

2.1将solr-8.0.0\server\lib下 metrics开头的5个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下solr8.0.0和tomcat8.5.40的整合,完整版

2.2将solr-8.0.0\dist下 一下2个jar包也拷贝到tomcat里的webapps\solr\WEB-INF\lib下solr8.0.0和tomcat8.5.40的整合,完整版

3.在tomcat里的webapps\solr\WEB-INF下创建classes文件夹,将solr/server/resources下的jetty-logging.properties和log4j2.xml拷贝到新建的classes文件夹下,如图:

solr8.0.0和tomcat8.5.40的整合,完整版

在磁盘根目录创建solrhome文件夹,把solr-8.0.0 里面的solr文件夹下的内容放入solrhome

5.修改webapps\solr\WEB-INF\web.xml里的solr\home路径,其中value的值为你创建的solrhome的绝对路径。solr8.0.0和tomcat8.5.40的整合,完整版

5.1web.xml里这段内容是是打开的,将其注释掉:solr8.0.0和tomcat8.5.40的整合,完整版

6.启动tomcat测试

http://localhost:8091/solr/index.html#/

solr8.0.0和tomcat8.5.40的整合,完整版

端口是8091注意这个,solr是已tomcat为容器启动的,访问的是tomcat的端口号,更改端口需要更改tomcat里的conf/server.xml

solr8.0.0和tomcat8.5.40的整合,完整版

 

 

  1. 索引库的配置

1.创建Core(索引库)

solr8.0.0和tomcat8.5.40的整合,完整版

1.1进入solr_home\solr目录下创建core001

solr8.0.0和tomcat8.5.40的整合,完整版

1.2把solr-8.0.0\example\example-DIH\solr\solr位置的内容拷进core001目录下

再创建个data空文件夹

solr8.0.0和tomcat8.5.40的整合,完整版

添加成功重启tomcat,效果如下

solr8.0.0和tomcat8.5.40的整合,完整版

 tomcat整合solr到此结束。

在最后启动tomcat时候可能会报错IOException。。${sys:solr.log.dir}/solr_slow_requests.log路径非法等问题。解决方法如下:

将classes下的log4j2.xml更改:将所有的${sys:solr.log.dir}替换为./logs即可

solr8.0.0和tomcat8.5.40的整合,完整版

我是菜鸟,见笑了!:)