因为生产环境不允许使用Solr,所以只能在原有部署Web项目的Tomcat中部署Solr
环境:JDK1.8;Tomcat8;Solr7.5
以下为转载内容,试了有效
转载自https://blog.csdn.net/static_coder/article/details/78401699

1、前言

solr是基于lucence的企业级搜索服务器。之前使用的都是4.x版本,但是在5.x之后solr的目录结构已经发生了变化,不在提供war包。所以在tomcat部署的时候,稍有区别。尤其现在的最新版本已经是7.x了,部署的时候有一些变化。

2、solr7.1.0的示例启动

由于solr本身集成了jetty服务器,所以可以直接启动。在solr的bin文件加下执行:

2.使用Tomcat8部署Solr7.5

在文件中也要相关提示:
2.使用Tomcat8部署Solr7.5
2.使用Tomcat8部署Solr7.5

3、启动效果

默认端口:8983
访问地址:http://localhost:8983/solr
2.使用Tomcat8部署Solr7.5

4、solr7在tomcat上的部署

solr6.x以上都需要JDK1.8以上版本。这里使用JDK1.8+tomcat8+solr7.x部署。

①准备环境:安装JDK1.8,tomcat8
②将solr-7.1.0/server/solr-webapp/下的webapp复制到apache-tomcat-8.5.23/webapps/下并且重命名(可以随意命名),这里命名为solr。

2.使用Tomcat8部署Solr7.5

③复制solr-7.1.0/server/lib/ext下的所有jar,到apache-tomcat-8.5.23/webapps/solr/WEB-INF/lib/下。(没错,这个就是那个重命名solr下的WEB-INF/lib)
④复制solr-7.1.0/server/lib/下metrics相关的jar,到apache-tomcat-8.5.23/webapps/solr/WEB-INF/lib/下。

2.使用Tomcat8部署Solr7.5

⑤复制solr-7.1.0/server/resources下的log4j.properties文件,到apache-tomcat-8.5.23/webapps/solr/WEB-INF/下的classes文件夹中。(classes文件夹如果没有需要自己创建,这是日志文件)
⑥创建solrhome:复制solr-7.1.0/server/下的solr文件夹,到任意目录处(可以重新命名,这里重命名为solr-home,笔者solrhome路径为:D:\20161010\test-demo\solr-test-7.1.0\solr-home),自定义solrhome。

2.使用Tomcat8部署Solr7.5

⑦配置solrhome路径:修改apache-tomcat-8.5.23/webapps/solr/WEB-INF/下的web.xml文件。

    <!-- 方法1:默认代码为注释状态。放开之后,替换<env-entry-value></env-entry-value>中间的值为自己的solrhome -->
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/20161010/test-demo/solr-test-7.1.0/solr-home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

    <!--
     方法2:
     修改tomcat的配置文件, 在apache-tomcat-8.5.23/bin/catalina.bat文件中的第二行加配置参数。也就是@echo off下面一行。
⑧取消权限控制,注释web.xml中的最后几行代码。否则项目会包403.
 <!-- Get rid of error message -->
 <!--
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>

⑨初始化solr-home的数据,在solr-home文件下建一个core1(名字随意取),复制solr-home/configsets/_default/下的conf文件夹,到新建的core1下,在core1下创建文件夹data(空文件加即可)和core.properties(内容只配置name=core1即可,这里的name的值也就是再页面要显示的solrhome名称)
⑩访问http://localhost:8080/solr/index.html

相关文章: