Docker 安装 Solr ikanalyzer

本文介绍如何使用Docker部署Solr并集成IK Analyzer进行中文分词,包括镜像拉取、容器运行、扩展文件及驱动导入、集合创建、数据库配置、分词器配置等步骤。

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

原理

ikanalyzer 是 solr 的中文分词工具,之前并没有接触过solr,属于赶鸭子上架要安装 ikanalyzer , 踩了很多坑,所以在你看这篇文章之前首先需要了解中文分词的基本原理; solr的集合=mysql中的数据库表,在我们安装分词的同时也需要配置数据库,这样做的话会少一些报错!

所需资料:

扩展 我放到了网盘里:
在这里插入图片描述
链接:https://pan.baidu.com/s/1GOE4cRDWkcqgtruyWzQIvw
提取码:solr

正餐

拉取镜像

docker pull solr:7.4.0

运行容器

我的windos系统 8983是系统占用端口 所以这里使用81端口

 docker run -itd -p 81:8983  --name 5yoho_solr solr:7.4.0

安装vim

超级管理员身份进入容器

docker exec -it --user=root 5yoho_solr /bin/bash  

安装vim工具

apt-get update && apt-get install vim 

安装完成后 退出

exit

中文分词 ik-analyzer扩展导入

网盘下载的内容 放入目录 我的是 E:\vagrant\docker\solr

进入到这个目录

扩展文件导入至容器目录

docker cp ./ik-analyzer-8.3.0.jar 5yoho_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib
docker cp ./ik-analyzer-solr7-7.x.jar 5yoho_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib
docker cp ./solr-dataimporthandler-8.4.0.jar 5yoho_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib
docker cp ./solr-dataimporthandler-extras-8.4.0.jar 5yoho_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib

mysql数据连接驱动导入

docker cp ./mysql-connector-java-5.1.4-bin.jar 5yoho_solr:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib

创建一个集合

portal_category 与我的数据库表名是相同的

 docker exec -it --user=solr 5yoho_solr bin/solr create_core -c portal_category

数据库配置文件

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource name="source1" type="JdbcDataSource"
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://127.0.0.1:3306/laravel_test"
              user="root"
              password="root"+:
              batchSize="-1" />
    <document>
        <entity name="laravel_test" dataSource="source1"
            query="SELECT id, userId, name, addon, FROM portal_category">
          <field column="id" name="id" />
          <field column="name" name="name" />
          <field column="description" name="description" />
          <field column="seo_title" name="seo_title" />
        </entity>
    </document>
</dataConfig>


<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
  <lst name="defaults">
      <str name="config">data-config.xml</str>  
  </lst>  
</requestHandler>

导入至portal_category集合conf文件

docker cp ./data-config.xml 5yoho_solr:/opt/solr/server/solr/portal_category/conf

配置IK分词器

// 定位到 
docker exec -it --user=root 5yoho_solr /bin/bash  
cd /opt/solr/server/solr/portal_category/conf
vim managed-schema

shift+g 定位到最后一行

<!-- ik分词器 -->
<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>
<field name='name' type="text_ik" indexed="true" stored="true"/>
<field name='description' type="text_ik" indexed="true" stored="true"/>
<field name='seo_title' type="text_ik" indexed="true" stored="true"/>

如下
在这里插入图片描述

配置 solrconfig.xml 配置导入把当初配置好的 data-config.xml 导入到 solr 中

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
  <lst name="defaults">
      <str name="config">data-config.xml</str>  
  </lst>  
</requestHandler>

在这里插入图片描述

重启

docker restart 5yoho_solr

在这里插入图片描述
鸣谢-十三月http://auan.cn/internet/2274.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值