分布式Solrcloud 下 Ik分词的部署

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

单机Solr Ik分词的部署和群集还是稍有不同的。这里我默认读者知道单机版的Ik部署方法了

修改 zookeeper 的配置文件

修改任意一个 zookeeper 节点 的 配置文件,在 </schema> 节点前添加

 <fieldType name="text_ik" class="solr.TextField">
        <analyzer type="index" useSmart="false" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
        <analyzer type="query" useSmart="true"  isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
    </fieldType>

这里写图片描述

修改所有 tomcat 节点 的配置文件

下载 IK中文分词 ,文件目录如下:
这里写图片描述

将红色的三个文件 复制到所有 tomcat 节点 的 classess 目录下,将蓝色的三个文件 复制到所有 tomcat 节点 的 lib 目录下:
这里写图片描述

记得这里所有 tomcat 节点需要重启 !

测试一下集群环境下的Ik分词是否生效

先使用Zookeeper 加 solr-cloud 部署Solr群集二 中上传 zookeeper 配置的方法,再上传一个名称为 myconfIK 的配置文件在 Solr 集群管理界面新建一个 Collection 使用这个配置文件 。
这里写图片描述

默认不分词的分析结果是这样的:
这里写图片描述

我们试着在 solrhome01solrhome02 上 用不同的 stopword 来看看效果
这里写图片描述

这里写图片描述

可见每个 tomcat 节点上的 ext.dic 文件是都需要修改来能实现 IK分词 效果,这里可以把所有节点中 IKAnalyzer.cfg.xml 文件中的 <entry key="ext_dict">ext.dic;</entry> 指向一个 共享路径,这样就可以更新一次分词词典来实现群集的词典更新。

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