solr cloud系列-IK中文分词器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangcl123/article/details/55048409

最近一段时间项目中查询需要支持中文分词拼音分词,在网上找了不少资料,现在把做的过程整理出来,以后用到就可以直接看,下面直接上干活。


solr cloud6.1.0设置IK分词器:

准备资料:ik-analyzer-solr5-5.x.jar (这个jar是在网上找的 solr的6.x版本也能用)

                 IKAnalyzer.cfg.xml  (IK扩展分词和扩展停止词的设置)

                 mydict.dic(扩展分词)

                 stopword.dic(扩展停止词)


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;</entry> 
-->
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry> 
</properties>

下载地址:http://download.csdn.net/detail/yangcl123/9753367

分词器的配置: (所有机器都操作)

1.将IK分词器的jar包放到WEB-INF/lib/下,我的目录是:solr-6.1.0/server/solr-webapp/webapp/WEB-INF/lib/

2.在WEB-INF目录下面创建classes文件夹(要是没有的话),把IKAnalyzer.cfg.xml,mydict.dic,stopword.dic三个文件放到classes文件夹下


managed-schema文件:

找到自己的managed-schema文件,首选增加IK分词的类型

        <fieldType name="test_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>

将需要分词的字段的type设置成test_ik

   <field name="openBankName" type="test_ik" indexed="true" stored="true" multiValued="false" />

修改这些之后上传配置文件到zookeeper 

替换单个配置文件,这里的bank_link是我自己的目录名
./server/scripts/cloud-scripts/zkcli.sh -zkhost node2:2181,node1:2181,node3:2181 -cmd putfile /solr/configs/bank_link/managed-schema  server/solr/configsets/bank_link/conf/managed-schema 

OK,到了这一步配置就完成了下面就验证下

首先重启所有的solr cloud节点,重启完毕之后,找到对应的collection,reload下配置文件,索引需要重新生成,下面是reload的位置




完毕之后我们验证下分词配置是不是成功了


OK 我们看到了 分词已经OK了,下一章介绍拼音分词的设置。


展开阅读全文

没有更多推荐了,返回首页