引入中文分词IKAnalyzer
概述
由于Solr内置的分词器对中文分词的切词效果不够理想,因此引入中文分词器。目前流行的中文分词器很多,如mmseg4j、Ansj、paoding、IKAnalyzer等,分词器的选型不属于本文的介绍范围,本文以IKAnalyzer分词器为例。
环境准备
Solr运行环境,Solr的搭建运行参见
Solr基础(一) 五分钟搭建Solr;IKAnalyzer稳定版本包,详见
IK-Analyzer。
开始
将获取的IKAnalyzer包拷贝至路径/solr/home/path/core/lib下面。打开schema.xml文件,在<types>节点下配置并定义分词器:
<fieldType name="text" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" usesmart="true"/>
</fieldType>
将词典以及词典配置文件IKAnalyzer.cfg.xml拷贝至/tomcat/home/path/webapps/solr/WEB-INF/classes/下面,如果需要自定义词典,将自定义词典拷贝至该目录下,并编辑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;sg_all.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典 -->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
新加入的词典放在<entry key="ext_dict">节点中,并用半角逗号隔开。
注意:用户在自定义词典或者加入新词的时候,每行只能输入一个词,并且保存编码格式为UTF-8的文件
分词效果
打开Solr服务器控制台,进入到任意core,选择Analysis页面,输入“中华人民共和国”,选择定义的中文分词字段text,分词结果如下: