Centos7 环境下 Solr 8.4 部署安装、启动、关闭 、重启 、 添加IK分词器、 同步mysql数据 教程

1、项目初衷

Solr版本升级迭代速度较快,各个版本之间变化差异较大。搜集了不少资料终于搭建了solr当前比较新版本的流程,在此分享一下。
希望可以帮助到大家!

2、Solr版本之间的主要变化

版本 变化
4.x 4.x的安装方式,solr的安装包中会有一个war包,可以部署类似tomcat的服务器上运行,这是大家都熟知的方式
5.x 6.x 7.x 8.x 5.x之后solr中不再提供war包,这是一个重大变化,项目直接在解压后的目录中通过命令运行

我在这里踩了不少坑,下载solr8.4解压后就是找不到war包,查了半天资料才发现solr新版本已经不提供war包了。

3、项目环境

java:Jdk1.8
solr:solr-8.4.1
linux:Centos7
分词器:IK分词器

4、Solr安装

4.1、安装Jdk

之前写的帖子中有详细关于jdk环境部署的教程 : https://blog.csdn.net/jrgdspuwij/article/details/104239983

4.2、下载Solr安装包

下载地址 : https://archive.apache.org/dist/lucene/solr/

在这里插入图片描述

我下载的是solr-8.4.1.tgz 版本。

4.3、上传solr安装包

cd /opt			#打开上传文件夹
rz				#上传文件
tar -zxvf solr-8.4.1.tar	#解压
cd solr-8.4.1			#进入加压后目录

在这里插入图片描述

4.4、测试启动Solr

cd bin		           #打开bin文件夹
./solr start -force    #启动solr

在这里插入图片描述

	看到截图中内容说明项目已经启动,项目默认启动是8983端口
	测试登录网址:http://192.168.1.243:8983/solr 检查是否启动成功(ip按照实际部署环境ip填入)

在这里插入图片描述

	看到以上截图说明Solr已经启动成功。(打开建议使用google浏览器chrome,页面存在浏览器兼容性问题有的浏览器打开后,左侧按钮点击后没有反应)

4.5、Solr查看服务状态命令

cd /opt/solr-8.4.1/bin		#进入solr的bin文件夹下
./solr status				#查看solr的启动状态

4.6、Solr关闭服务命令

cd /opt/solr-8.4.1/bin		#进入solr的bin文件夹下
./solr stop					#查看solr的启动状态

4.7、Solr重启服务命令

cd /opt/solr-8.4.1/bin					#进入solr的bin文件夹下
./solr restart -force					#查看solr的启动状态

4.7、引入IK分词器

4.7.1 打开solr网页,创建core

 登录http://ip:port/solr网址中,创建core_admin

在这里插入图片描述

	创建:dev_core

在这里插入图片描述

	点击Add Core 会提示报错,原因是没有找到对应的目录以及目录中应该有的配置文件

在这里插入图片描述

解决办法:
cd /opt/solr-8.4.1/server/solr				#打开solr对应路径,会发现dev_core文件夹已经被创建

在这里插入图片描述

需要将实际应有配置文件拷贝到该目录下,可从/opt/solr-8.4.1/example/example-DIH/solr/db 中复制conf文件夹过去。

在这里插入图片描述

拷贝之后截图

在这里插入图片描述

此时在回到网页上,点击add_core,提示成功创建。

在这里插入图片描述

4.7.2 引入IK分词器所需要的jar包

下载地址 : 链接:https://pan.baidu.com/s/1-QNVeNCK1UQPnqMRyjwn-Q 提取码:mg1r 

在这里插入图片描述

按照截图内容中标注进行拷贝。

4.7.3 修改配置文件引入IK分词器

cd /opt/solr-8.4.1/server/solr/dev_core/conf	#进入配置文件目录
vim managed-schema								#修改配置文件
	在managed-schema底部增加如下内容
<fieldType name="text_ik" class="solr.TextField">  
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType> 

4.7.4 修改后重启solr服务

./solr restart		#重启服务

4.7.5 测试IK分词器

在这里插入图片描述
测试可看到,可以选择到新增加的text_ik这个类型,也可以分词成功。

4.8 mysql数据与solr同步在这里插入代码片

4.8.1 导入相关jar包

	放入数据库连接jar包,我的数据库是mysql的所有放入mysql-connector-java-5.1.46.jar
cd /opt/solr-8.4.1/server/solr-webapp/webapp/WEB-INF/lib		#在这个位置放入jar包

4.8.2 修改solr连接数据库配置文件

db-data-config.xml和managed-schema中进行配置
cd 	/opt/solr-8.4.1/server/solr/dev_core/conf		#进入路径中
vim db-data-config.xml								#修改连接数据库配置文件
<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/myschool?charactorEncoding=utf-8" user="root" password="root" />
    <document>
        <entity name="item" query="select * from student" pk="id">
             <field column="id" name="id" />
             <field column="stuname" name="stuname" />
             <field column="password" name="password"/>
         </entity>
    </document>
</dataConfig>
DataSource:数据库连接信息
Entity:对应数据库的数据表
Field:数据库字段,对应于solr的schema.xml中的 field 字段。其中 column 表示数据库字段名,name 表示 field 的 name。

4.8.3 登录solr页面,进行数据同步

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章