全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置

转载请注明出处:https://blog.csdn.net/JakeYangChina/article/details/109647848

前言

最近刚完成电商项目后台开发,对于商品的站内搜索采用的是Solr集群,Solr的版本是8.7.0,服务器采用的是apache-tomcat-9.0.17,因为是首次接触Solr,在配置过程中遇到了许多坑,特此记录下来方便以后查看,从网上能搜索到的文章基本上是低版本配置,和新版本有很大区别,如果你的版本是低于8.0.0版本,那么你可以不用往下阅读了

 

Solr是什么?

提到Solr就要先说说Lucene,Lucene是信息检索工具包,是由apache推出的一款开源的工具包,进行文档搜索,文档内信息检索或者文档相关元数据搜索等操作,一句话概括就是建立索引,搜索索引。而Solr是Apache下的一个开源项目,Solr是建立在Apache Lucene之上的流行,快速,开放源代码的企业搜索平台, 是一个独立的企业级搜索的应用服务器,配置完即可直接使用,项目里采用的是 Solr集群 + Tomcat 组合,接下来记录下如何配置Solr服务器

 

Linux环境搭建Window环境代建类似,这里为了方便记录采用Window环境搭建

 

首先下载软件,Solr官网下载地址:http://lucene.apache.org/solr/

解压完如图:

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第1张图片

简单介绍下文件夹:

bin:启动solr内置的jetty服务器,据说jetty服务器不是很稳定,这里不采用jetty

contrib:存放第三方开发的一些插件,配合solr使用

dist:案例jar包,提供一些jar包(需要从这里拷贝一些jar包)

docs:文档相关

example:存放一些案例(需要从这里拷贝案例的索引库配置,拷贝solr-8.7.0\example\example-DIH\solr\solr内所有文件)

licenses:许可说明书之类的文件

server:与搭建服务相关的文件,主要使用到此文件夹下的文件

 

进入到server文件夹内:如图

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第2张图片

主要用到上图使用灰色背景标注的文件夹:

lib:相关联的依赖包(需要从这里拷贝一些jar包)

resources:log相关文件(需要从这里拷贝文件)

solr:可以理解为solr的home目录,需要把这个文件单独复制到任意一个位置,修改文件名称为solr_home(名称任意起),作为solr的home目录

solr-webapp:solr服务端,要想在tomcat服务器内运行,主要使用到此目录

 

具体配置步骤:

(一)创建solr的home目录:也叫家目录(家目录是干啥子的?举个例子,就好比mysql,这个mysql里可以存方多个项目所用到的数据库)。开始创建家目录:进入到solr-8.7.0\server的目录内,复制solr文件夹存方到任意位置,重新命名为solr_home(我是将文件放到D:\install\solr_home)这样solr的家目录创建完了,创建这个家主要目的就是存放索引库,接下来在这个家里创建索引库(可以创建多个索引库,名称可以任意)

 

(二)创建索引库:进入到solr-8.7.0\example\example-DIH\solr,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第3张图片

找到solr文件夹,如上图,复制此文件夹,将此文件夹复制到步骤①创建的solr_home目录内,修改名称为new_core(名称可以任意)

 

(三)将solr服务端添加到tomcat内:进入到solr-8.7.0\server\solr-webapp,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第4张图片

复制webapp文件夹,如上图,将此文件夹复制到apache-tomcat-9.0.17\webapps\内,重命名为solr(名称可以任意)这个名称用于浏览器访问后台管理页面使用,暂时还无法启动服务器进行访问,因为缺少相关联的jar包和日志文件,接下来进行拷贝jar包和日志文件

 

(四)拷贝jar和日志文件:进入到apache-tomcat-9.0.17\webapps\solr\WEB-INF目录内,创建一个文件夹,名称为classes(将日志文件存放到classes文件夹内)

拷贝日志文件:进入到solr-8.7.0\server\resources,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第5张图片

拷贝上图中所有文件到classes文件夹内,修改log4j2.xml文件内容(可能会报错IOException${sys:solr.log.dir}/solr_slow_requests.log路径非法等问题,所以要进行修改)将所有的${sys:solr.log.dir}替换为./logs即可

 

拷贝jar包:进入到solr-8.7.0\server\lib\ext,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第6张图片

如上图,将此目录内所有jar包拷贝到apache-tomcat-9.0.17\webapps\solr\WEB-INF\lib,内

进入到solr-8.7.0\server\lib,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第7张图片

如上图,将此目录内的metrics开头的jar包(5个)拷贝到apache-tomcat-9.0.17\webapps\solr\WEB-INF\lib,内

进入到solr-8.7.0\dist,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第8张图片

如上图,将此目录内的solr-dataimporthandler-8.7.0.jar和solr-dataimporthandler-extras-8.7.0.jar两个jar包拷贝到apache-tomcat-9.0.17\webapps\solr\WEB-INF\lib,内

 

(五)配置服务器需要指定solr的家目录所在位置:进入到apache-tomcat-9.0.17\webapps\solr\WEB-INF,目录内

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第9张图片

如上图,找到 web.xml文件,添加内容如下:

 

(六)注释掉访问权限标签:进入到apache-tomcat-9.0.17\webapps\solr\WEB-INF,修改 web.xml文件,将标签注释掉,如图:

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第10张图片

 

(七)访问本地网址:127.0.0.1:8080/solr/index.html 效果如图:

全文检索 -- Solr服务器实现站内搜索(一) -- Solr-8.7.0新版本安装配置_第11张图片

配置solr服务器完成!

 

最后简单记录下solr-dataimporthandler-8.7.0.jar和solr-dataimporthandler-extras-8.7.0.jar这两个jar包的作用:这两个jar包是负责将mysql数据库内容和索引库数据之间相互导入,使用到的工具包,如果涉及到mysql数据数据导入到索引库内还需要单独拷贝mysql-connector-java.jar包

 

这里有三个文件是非常重要的,所在目录为:solr_home\new_core\conf\,内,分别为:

(一)data-config.xml : 数据库连接文件,这个默认是没有的,需要自己创建一个,名字随便定义

 
	 
	 
		 
			 
			 
			 
		
	



(二)managed-schema: solr域配置,老版本名字叫 schema.xml,在这里配置域,即搜索的字段(域名)


(三)solrconfig.xml: 一些系统配置,把以上两个文件连接了起来。

 
	
		data-config.xml 
	 

下一篇文章将会记录中文分词器的配置!

 

 

 

你可能感兴趣的:(Java后台开发,java,solr,后端)