1.拉取镜像
docker pull solr:7.4.0
2.创建容器
docker run --name solr -p 8983:8983 -d solr:7.4.0
3.访问8983端口
4.页面创建solr核心 (此时会报错)
5.进入solr
docker exec -it solr /bin/bash
6.将/opt/solr/server/solr/configsets/_default/conf文件夹拷贝到新建的核心下
cp -r /opt/solr/server/solr/configsets/_default/conf /opt/solr/server/solr/gcg/conf
7.重启solr服务
exit
docker restart solr
8.刷新页面再次添加solr核心
9.添加solr索引字段(可以通过修改/opt/solr/server/solr/gcg/conf/managed-schema,也可以页面添加)
此时solr服务已搭建完成
===============================================
启用中文分词器
1.进入solr容器
docker exec -it solr /bin/bash
2.修改/opt/solr/server/solr/gcg/conf/solrconfig.xml,添加中文分词器jar包
vi /opt/solr/server/solr/gcg/conf/solrconfig.xml
<!-- 原文件内内容 -->
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar"/> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar"/>
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar"/>
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar"/>
<!-- 新增以下的jar包 -->
<lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" regex="lucene-analyzers-smartcn-7.4.0.jar" />
3.修改/opt/solr/server/solr/gcg/conf/managed-schema,添加中文分词类型
vi /opt/solr/server/solr/gcg/conf/managed-schema
<!-- 插入以下内容 -->
<fieldType name="cn_text" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
4.重启solr
exit
docker restart solr
完成中文分词
也可以使用docker cp 将需要修改的文件拷贝至宿主机更改,然后拷贝回去
============================
数据库导入
1.进入solr容器
docker exec -it solr /bin/bash
2.修改/opt/solr/server/solr/gcg/conf/solrconfig.xml,添加data-ipmort处理器
vi /opt/solr/server/solr/gcg/conf/solrconfig.xml
<!-- 以下为添加内容 -->
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2.新建dataimport配置文件/opt/solr/server/solr/gcg/conf/data-config.xml
vi /opt/solr/server/solr/gcg/conf/data-config.xml
<!-- 以下为参考内容 -->
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!-- 数据库连接 -->
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://ip:3306/databasename" user="root" password="password" />
<document> ####transformer="HTMLStripTransformer" 一定要选、否则导入时会出错
<entity name="name" transformer="HTMLStripTransformer" query="
select field1,field2... from tablename">
<field name="solrfield1" column="field1"/>
<field name="solrfield1" column="field2"/>
...
</entity>
</document>
</dataConfig>
3.拷贝jar包
cp /opt/solr/dist/solr-dataimporthandler-* /opt/solr/server/solr-webapp/webapp/WEB-INF/lib
4.下载mysqljar包至/opt/solr/server/solr-webapp/webapp/WEB-INF/lib下
5.重启solr
exit
docker restart solr
6.页面导入数据
来源:CSDN
作者:X(Y)Z
链接:https://blog.csdn.net/qq_42976446/article/details/104699757