记录docker--solr

◇◆丶佛笑我妖孽 提交于 2020-03-07 04:54:11

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.页面导入数据

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!