Solr6.6.0添加IK中文分词器

IK分词器就是一款中国人开发的,扩展性很好的中文分词器,它支持扩展词库,可以自己定制分词项,这对中文分词无疑是友好的。 
jar包下载链接:http://pan.baidu.com/s/1o85I15o 密码:p82g
下载好之后,将IK对应的jar复制到项目的D:\tomcat\webapps\solr\WEB-INF\lib下面,然后在WEB-INF下面创建一个classes的目录,将其余三个文件(IKAnalyzer.cfg.xml , ext.dic和stopword.dic)复制到这个classes目录下。

Solr6.6.0添加IK中文分词器

打开D:\solrhome\core_demo\conf 下的managed-schema,添加:

<!-- K分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

Solr6.6.0添加IK中文分词器

同时,把需要分词的字段,设置为text_ik。type属性=text_ik,也就是我们自定义的IK中文分词

Solr6.6.0添加IK中文分词器

现在我们测试中文分词

Solr6.6.0添加IK中文分词器

使用联合sgk域来实现多域查询

Solr6.6.0添加IK中文分词器

另外,解释一下IK的配置,其中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">ext.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties> 

这里说下useSmart,我试过,当设置为true时,分词粒度比较小,支取权重比较高的分词,当设置为false时,分词粒度比较小,能匹配多个词;

到这里,IKAnalyzer就算配置完毕,可以直接在后台调试分词了

上一篇:MySQL表按月切割


下一篇:201521123056 《Java程序设计》第4周学习总结