一、现状说一下

        1、Solr已经可以连接MySQL

        2、MySQL全量与增量也了解了,增量需要手动触发,job还没做(跟Java相关的后续说)

        3、没有中文分词,搜索就不是很完美

二、准备工作

        1、计划用开源的IK分词库,直达Github

        2、上篇文章是这个,可以先了解下: 全量导入与增量导入

三、开整

1、下载jar包,失效的话,请到Github上去拿最新的jar包

2、jar包放到solr目录

solr目录: \solr-8.8.2\server\solr-webapp\webapp\WEB-INF\lib

3、修改配置文件

配置文件: \solr-8.8.2\server\solr\hg-mysql\conf\managed-schema

新增内容:

<!-- ik -->
<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index">
	  <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同级就行。我还把一个字段改成了text_ik类型,看图:

 4、新增IK专属的配置文件

目录: \solr-8.8.2\server\solr-webapp\webapp\WEB-INF\classes

说明: classes目录是不存在的,新增即可

新增字典文件:dynamicdic.txt        ext.dic        stopword.dic,内容为空即可

新增ik配置文件: ik.conf

ik.conf内容:

files=dynamicdic.txt
lastupdate=0

新增分析配置文件: IKAnalyzer.cfg.xml

IKAnalyzer.cfg.xml内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">mydict.dic;extra_single_word.dic</entry>
	<!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords"></entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">http://192.168.1.88/es_new_word.txt</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

说明: 字典文件,留着备用;

配置好,是这个样子:

 

 5、配置完成,重启Solr即可

看个示意图:

说明: 大致是出样子了,可能根据后面的也无需要需要调整,这东西需要慢慢深入学习

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐