Solr整合Tomcat9

简介

Solr 采用 Java5 开发,是建立在 Apache Lucene™上的流行的、快速的开源企业搜索平台。

Solr 具有高度可靠、可伸缩和容错能力,提供分布式索引、复制和负载平衡查询、自动故障转移和恢复、集中配置等功能。

Solr 为世界上许多最大的互联网站点的搜索和导航功能提供了动力。

特性

  • 高级全文搜索能力:由Lucene ™提供支持,Solr可实现强大的匹配功能,包括短语,通配符,联接,分组以及任何数据类型
  • 针对大容量流量进行了优化:
  • 拥有基于标准的开放式接口- XML、JSON 和 HTTP
  • 综合的管理界面
  • 实现轻松监控
  • 高度的可扩展性和容错性
  • 灵活的适应性,易于配置
  • 能够实时索引
  • 可扩展的插件架构

相关链接

Solr 各版本下载地址:http://archive.apache.org/dist/lucene/solr/

Solr 官方网站:http://lucene.apache.org/solr/resources.html

安装配置

下载

Solr与lucene版本是同步更新的

书写笔记时用的版本: 8.5.1

solr下载链接

启动solr

自带的启动服务器是Jeety
solr的启动、停止、查看命令:

  1. 启动: bin\solr.cmd start
  2. 停止: bin\solr stopsolr stop -all
  3. 查看: ==bin\solr status

访问地址:http://localhost:8983/solr

Tomcat安装运行环境

  • jdk1.8以上
  • Solr 8.5.1
  • Web服务器:tomcat9
操作步骤
准备Tomcat8/9

修改默认端口+1~端口随意

找到如下内容

D:\RunServer\solr-8.5.1\server\solr-webapp

【webapp】

复制到Tomcat下,并命名为solr

D:\RunServer\apache-tomcat-9.0.22-solr8.5-8081\webapps

【webapp】重命名【solr】

复制lib

D:\RunServer\solr-8.5.1\server\lib\ext下所有jar包,以及D:\RunServer\solr-8.5.1\server\lib下以metrics开头的jar、gmetric4j的jar复制到D:\RunServer\apache-tomcat-9.0.22-solr8.5-8081\webapps\solr\WEB-INF\lib

复制配置文件

D:\RunServer\apache-tomcat-9.0.22-solr8.5-8081\webapps\solr\WEB-INF中,新建【classes】文件夹,将D:\RunServer\solr-8.5.1\server\resources下文件复制到上面新建的文件夹中,Jeety相关可以忽略

创建 SOLR HOME 目录【solr_home】

D:\RunServer\apache-tomcat-9.0.22-solr8.5-8081\webapps\solr\WEB-INF中,新建【solr_home】文件夹

拷贝D:\RunServer\solr-8.5.1\server\solr下所有文件、文件夹复制到上面新建的【solr_home】文件夹

拷贝D:\RunServer\solr-8.5.1下【contrib】、【dist】文件夹复制到上面新建的【solr_home】文件夹

在上面新建的【solr_home】目录中新建【demo_core】文件夹,并拷贝D:\RunServer\solr_home\configsets\sample_techproducts_configs目录下【conf】文件夹至D:\RunServer\solr-8.5.1

修改solrconfig.xml

修改D:\RunServer\solr_home\demo_core\conf中solrconfig.xml文件第75行,修改lib指向路径当前路径

修改前
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
  
  修改后
  <lib dir="${solr.install.dir:../}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../}/dist/" regex="solr-ltr-\d.*\.jar" />

  <lib dir="${solr.install.dir:../}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../}/dist/" regex="solr-velocity-\d.*\.jar" />
修改web.xml

修改D:\RunServer\apache-tomcat-9.0.22-solr8.5-8081\webapps\solr\WEB-INFweb.xml文件

新增如下部分,默认是注释掉的。

其中env-entry-value值为solr_home对应值,及solr_home目录

 添加
 <env-entry>
	    <env-entry-name>solr/home</env-entry-name>
	    <env-entry-value>D:/RunServer/solr_home</env-entry-value>
	    <env-entry-type>java.lang.String</env-entry-type>
   </env-entry>
   
    注释前
  <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>
  
  注释后
  <!--<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>-->
访问测试

http://{ip}:{port}/solr/index.html

http://localhost:8081/solr/index.html

常见问题

从Solr7开始内置log4j升级至log4j2,而log4j2不再支持properties配置文件而需要使用json或xml来配置

因为不使用日志文件,直接注释掉log4j2.xml的标签

启动tomcat时候可能会报错IOException / ${sys:solr.log.dir}/solr_slow_requests.log路径非法等问题

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

替换前
<RollingRandomAccessFile
        name="SlowLogFile"
        fileName="${sys:solr.log.dir}/solr_slow_requests.log"
        filePattern="${sys:solr.log.dir}/solr_slow_requests.log.%i" >

替换后
<RollingRandomAccessFile
        name="MainLogFile"
        fileName="./logs/solr.log"
        filePattern="./logs/solr.log.%i" >

solr界面介绍

Dashboard - 仪表盘

显示了该Solr实例开始启动运行的时间、版本、系统资源、jvm等信息。

Logging - 日志

显示Solr运行出现的异常或错误。

Core Admin

Solr Core的管理界面。这里可以添加SolrCore实例。

  • Add Core – 添加核心
  • Unload – 卸载核心
  • Rename – 重命名核心
  • Reload – 重新加载核心
  • Optimize – 优化索引库
Add Core

主要是在instanceDir对应的文件夹里生成一个core.properties文件

demo_code

java properties

Solr在JVM运行环境中属性信息,包括类路径、文件编码、jvm设置等信息。可查看java相关的一些属性的信息

Tread Dump

显示Solr Server中当前活跃线程信息,同时也可以跟踪线程运行栈信息。

Core selector

需要在Core Admin中添加core后才有可选项。

Analysis

通过此界面测试索引分析器和搜索分析器的执行情况。

注:solr,分析器是绑定在域的类型中的

Dataimport

可以定义数据导入处理器,从关系数据库将数据导入到solr索引库中。默认没有配置,需要手工配置。

graph TD
    st[web]-->a{Document database}
    a-->c((database))
Documents

操作索引库

Query

检索数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Strive_MY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值