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

转载 2021-01-08 15:07 Java 29

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分词器,示例如下;

xml 复制代码
<!-- 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服务测试分词;

点赞
收藏
关注
转发
本文作者: Veddy
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议进行许可。转载请署名作者且注明文章出处。
文章目录