Solr 8-7的安装、配置
第一安装和配置Solr
1、Solr单独运行方式
下载最新版solr,地址:http://lucene.apache.org/solr/downloads.html
zip 文件下载将它解压缩到一个文件夹:
Solr的文件夹:
bin文件夹中包含用来启动和停止solr服务器的脚本。
example文件夹包含几个示例文件。
server文件夹包含logs文件夹,所有的Solr的日志都写入该文件夹。在server文件夹下的Solr文件夹包含不同的集合或核心(core/collection)。
2、运行Solr
Apache Solr 带有一个内置的Jetty 服务器。但在我们开始之前, 我们必须验证
JAVA_HOME 已经配置,注意需要64 位的JDK。
可以使用命令行脚本启动服务器,去solr 的bin 目录,从命令提示符输入出以下命令:
solr start,将启动Solr 服务器,默认端口为8983。如果指定其它端口号可以使用solr start -p 端口号。
最新版的Solr在命令行输入有可能出现 solr start -p 端口 有可能会报以下错误:
如果出现以上错误可以使用 .\solr start -p 端口号进行启动。
以上提示出现后证明服务启动成功(启动过程中如果打印java 异常堆栈log4j2.xml 文件
名、目录名或卷标语法不正确找不到文件,不妨碍正常使用solr 可以忽略),或者找到solr 主目录下bin/solr.cmd,把所有的file:都改为file:///比如"file:%DEFAULT_SERVER_DIR%\scripts\cloud-scripts\log4j2.xml"修改为"file:///%DEFAULT_SERVER_DIR%\scripts\cloud-scripts\log4j2.xml"
停止服务: solr stop -p 端口号如果不写端口号solr stop -all 也可以。
现在,可以在浏览器中打开以下网址查看solr 管理控制台AdminUI:
http://localhost:8888/solr/
3、Solr常用命令
solr start -p 端口号 单机版启动solr服务。
solr restart -p 端口号 重启solr服务。
solr stop -p 端口号 关闭solr服务。
solr create -c name 创建一个core 实例。
官方文档的地址:https://lucene.apache.org/solr/guide/8_6/
4、Solr+tomcat方式
4-1、拷贝web项目:
从D:\solr-8.7.0\server\solr-webapp\webapp 拷贝到 tomcat 的 webapp目录下,并重命名为solr。
![](https://img-blog.csdnimg.cn/20201112102758688.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk3ODAzMg==,size_16,color_FFFFFF,t_70#pic_center)
拷贝扩展依赖jar:
将D:\solr-8.7.0\server\lib\ext 文件夹下的所有的jar包拷贝到 D:\Tomcat 9.0\webapps\solr\WEB-INF\lib下。
将D:\solr-8.7.0\server\lib下的metrics-.jar 包拷贝到D:\Tomcat 9.0\webapps\solr\WEB-INF\lib下。
4-2、配置HOME目录
创建HOME 目录(D:\solrhome),并把solr 配置文件拷贝到HOME 目录中
将 D:\solr-8.7.0\server\solr 文件夹内所有的文件拷贝到 D:\solrhome。
4-3、修改web.xml配置
修改solr服务器目录中web.xml(D:\Tomcat 9.0\webapps\solr\WEB-INF)文件制定solr_home所在位置。
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>d:\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
并且注释以下代码,否则项目汇报403错误。
<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>
4-4、配置solr日志
拷贝日志文件 log4j2.xml 从D:\solr-8.7.0\server\resources 到 D:\Tomcat 9.0\webapps\solr\WEB-INF\lib
在solrhome 下创建文件夹logs
修改修改Tomcat\bin 下的catalina.bat,增加solr.log.dir 系统变量,指定solr 日志记录存
放地址
如果不配置tomcat 下的stdout 文件会显示错误日志:
22:58:23.129 [localhost-startStop-1] ERROR org.apache.solr.util.StartupLoggingUtils -
Missing Java Option solr.log.dir. Logging may be missing or incomplete.
打开tomcat 的bin (D:\Tomcat 9.0\bin)文件夹下的catalina.bat 添加一行配置:
set JAVA_OPTS="-Dsolr.log.dir=D:\solrhome\logs"
用solr7.4 和solr7.5 配置后还是报以上异常
如果把log4j2.xml 拷贝到classes (D:\Tomcat 9.0\webapps\solr\WEB-INF)下则报如下异常:
ERROR Unable to create file ${sys:solr.log.dir}/solr.log java.io.IOException: 文件名、目录
名或卷标语法不正确。
在怎么修改都不对的情况下,直接把log4j2.xml 放在classes 下并把文件中所有的
${sys:solr.log.dir}修改为具体的路径,比如:d:/solrhome/logs,就可以打印日志了。
4-5、启动tomcat
启动tomcat,访问http://localhost:8080/solr/index.html#/
看到页面及标识搭建成功。
本文地址:https://blog.csdn.net/weixin_43978032/article/details/109636381
上一篇: 把字符串转换成整数