Solr笔记(5).Solr使用IK-Analyzer中文分词器

Solr配置中Core目录下的conf/managed-schema里面type类型为text_general的就是分词器

下图是Solr自带的默认分词器分词后的结果(默认分词器分解英文是正常的,分解中文是将中文分成一个一个字)



IK-Analyzer在Github上的Jar包

https://github.com/magese/ik-analyzer-solr

单机版Solr
将jar包放入Solr服务的Jetty或Tomcat的webapp/WEB-INF/lib/目录下;
将resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下;(这五个配置文件位于Jar包根目录中,需要从Jar包中解压出来)
IKAnalyzer.cfg.xml
ext.dic
stopword.dic
ik.conf
dynamicdic.txt

配置Solr的managed-schema,添加ik分词器,示例如下;
    <!-- 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>

配置完ik分词器后记住要先将之前导入的数据删除,并且将managed-schema之前配置的字段的类型改成相对应的text_ik,最后再重新导入即可
启动Solr服务测试分词;