docker安装solr、ik分词器及增删改查操作

本文详细介绍了如何使用Docker安装Solr 8.11.1,创建Solr核心,配置IK中文分词器,并进行Solr的增删改查操作。还涉及SpringBoot集成Solr的使用以及Solr导入数据库数据的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用docker命令查看solr版本(也可以去docker仓库查看:https://hub.docker.com/_/solr/)

docker search solr

在这里插入图片描述二、可以拉取对应版本(我这使用的版本是8.11.1)

docker pull solr:8.11.1

三、创建my_solr容器

docker run --name my_solr -d -p 8983:8983 solr:8.11.1

run 运行容器
– name 容器名称
-d 后台运行
-p 容器端口和宿机端口映射
solr:8.11.1 指镜像名称

四、创建solr核心命令
1.创建solr核心

//创建名为my_core的核心
docker exec -it --user=solr my_solr bin/solr create -c my_core
//删除核心命令
docker exec -it --user=solr my_solr bin/solr delete -c my_core

2.修改solr.in.sh.orig权限(可选)
如果你的solr使用的是root启动,solr初始化检查时会报一些警告信息,最重要的是在使用solr时,因为是root用户,无权限操作,服务器的内存会被大量占用,严重时会导致OOM问题。

//1.此文件位置在/opt/solr/bin目录下
//进入solr容器
docker exec -it -u root my_solr /bin/bash
cd /opt/solr/bin
//安装vim命令:apt-get install vim(如果提示:Unable to locate package vim,则需要敲:apt-get update)
//等更新完毕以后再敲命令: apt-get install vim
vim solr.in.sh.orig
//找到SOLR_ULIMTIT_CHECKS行,默认为true,这里改为false
SOLR_ULIMTIT_CHECKS=false

在这里插入图片描述

五、访问浏览器
127.0.0.1:8983/solr (自己的ip + 端口 + /solr)
在这里插入图片描述标红框的地方就是刚刚创建的核心
在这里插入图片描述

六、solr配置中文分词器:下载Ik文件(永久有效)
链接:https://pan.baidu.com/s/1CeiClqDfV_Ye93V9onG1xw 提取码:hgvc

//创建Ik文件夹
mkdir /Ik

将解压的文件放置到创建的文件中(文件名随便取,我这里是Ik)
在这里插入图片描述
七、将下载的ik文件拷贝至sorl容器中

//将jar包拷贝到solr的lib目录下
docker cp ik-analyzer-8.3.0.jar my_solr:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/

docker cp ik-analyzer-solr7-7.x.jar my_solr:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/

docker cp solr-dataimporthandler-8.4.0.jar my_solr:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/

docker cp solr-dataimporthandler-extras-8.4.0.jar my_solr:/opt/solr-8.11.1/server/solr-webapp/webapp/WEB-INF/lib/

八、进入容器修改managed-schema

//进入solr容器
docker exec -it -u root my_solr /bin/bash
//进入到conf目录
cd /var/solr/data/my_core/conf
//修改managed-schema(注:如果没有安装vim命令,在虚拟机安装即可。)
//安装vim命令:apt-get install vim(如果提示:Unable to locate package vim,则需要先输入此命令:apt-get update)
//等更新完毕以后再敲命令: apt-get install vim
vim managed-schema

将以下内容添加至managed-schema文件中

<!-- ik分词器 -->
 <fieldType name="text_ik" class="solr.TextField">
     <analyzer type="index">
         //useSmart:分词粗细粒度(true:粗分词  false:细分词)
         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
         <filter class="solr.LowerCaseFilterFactory"/>
     </analyzer>
     <analyzer type="query">
         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
         <filter class="solr.LowerCaseFilterFactory"/>
     </analyzer>
 </fieldType>
 
 <fieldType name="text_cn" class="solr.TextField">
     <analyzer type="index">
         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
         <filter class="solr.LowerCaseFilterFactory"/>
     </analyzer>
     <analyzer type="query">
         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
         <filter class="solr.LowerCaseFilterFactory"/>
     </analyzer>
 </fieldType>

<!-- 定义两个字段 -->
//name:名字随便取  type:分词的类型  indexed:是否建立索引   stored:是否储存到硬盘
<field name=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值