Docker 安装solr8.4.0
docker拉取solr
docker pull solr
创建并运行的solr容器
docker run --name solr -d -p 8983:8983 solr
1.run 运行容器
2.-d 后台运行
3.-p 容器端口和宿机端口映射
4.-- name 容器名称
5. solr 指镜像名称
注意:如果没有开启防火墙则跳过,如果开启防火墙了需要执行下面的代码;
运行之后我们防火墙放行端口号的命令:
firewall-cmd --zone=public --add-port=8983/tcp --permanent
加载刚刚防火墙放行端口:
firewall-cmd --reload
使用服务器的需要去安全组设置端口即可:
创建核心
docker exec -it --user=solr solr bin/solr create_core -c Ik_core
之后我们可以在浏览器输入IP:8389 看看有没有页面出现;
solr 配置IK中文分词
jar的百度网盘:https://pan.baidu.com/s/1ExTcCVfn_zltmGJDhxWhgQ
提取码:zxxp
推荐在本地先解压然后把四个jar传到linux //usr/local/IK (IK需要自己创建文件夹)
mkdir -p /usr/local/IK
在这里放jar同时我们从本地拿需要用到文件/jar 到在这里
cd /usr/local/IK
docker cp ik-analyzer-8.3.0.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp ik-analyzer-solr7-7.x.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-8.4.0.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-extras-8.4.0.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
复制配置文件:
使用root用户(超级管理)进入solr 的容器里创建文件夹
docker exec -it --user=root solr /bin/bash
cd /opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF
创建文件夹(classes)
mkdir classes
退出容器:
exit
docker cp IKAnalyzer.cfg.xml solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/classes/
修改managed-schema:进去solr的容器因为创建核心名称默认的路径是在/var/solr/data/核心名称 而solr 默认在opt/solr-8.4.0/
因此我们要到solr 的容器命令:
docker exec -it --user=root solr /bin/bash
下载vim编辑:
apt-get update
apt-get install vim
cd /var/solr/data/Ik_core/conf
vi managed-schema
在最下面添加:
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
vi solrconfig.xml
在最下面添加:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
ok,配置IK 完成,退出容器:exit
重启solr 的容器:
docker restart solr
在浏览器输入IP:8983
来源:CSDN
作者:柠檬味拥抱
链接:https://blog.csdn.net/qq_18108159/article/details/103874567