单机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
使用这个配置文件 。
默认不分词的分析结果是这样的:
我们试着在 solrhome01
和 solrhome02
上 用不同的 stopword
来看看效果
可见每个 tomcat
节点上的 ext.dic
文件是都需要修改来能实现 IK分词
效果,这里可以把所有节点中 IKAnalyzer.cfg.xml
文件中的 <entry key="ext_dict">ext.dic;</entry>
指向一个 共享路径,这样就可以更新一次分词词典来实现群集的词典更新。