solr8.2.0下添加Ik-analyzer分词
因为中文分词IK Analyzer 2012FF只能适合solr5的版本,但是我需要使用solr8.2.0怎么办??
1、配置ik-analyzer中文分词器
需要下载新版本的:ik-analyzer-8.1.jar 以前旧版本的2012不支持有启动时会报异常
下载地址:https://search.maven.org/search?q=com.github.magese(只能下jar包)
或者
GitHub地址:https://github.com/magese/ik-analyzer-solr (可以下载源码,并附有详细的源码,可以导入eclipse运行编译,推荐)
我们以GitHub地址为例,点击链接,如下:
下载zip包,如下:
将下载的zip包解压后导入到eclipse maven项目中(聪明的你肯定知道)
在eclipse中打开导入的项目如下:
点击IKAnalzyerDemo类
发现了我们熟悉的main函数,启动试试。。。如下:
这就是我们ik分词的结果。
因为这不是一个打包好的jar文件,我们需要手动打包,打包方式如下:
点击 maven install 稍等片刻即可打包好啦
出现如下提示:
表示打包成功!
此时在我们导入的项目中多了一个target文件夹(没有的化刷新哈呗)
其中包含我们需要的ik-analyzer-8.1.1.jar包;
现在为我们的solr8.2.0添加中文分词
第一步、将eclipse中的ik-analyzer-8.1.1.jar包复制到我们的D:\apache\apache-tomcat-9.0.22\webapps\solr\WEB-INF\lib目录下,同时还要将:D:\apache\solr-8.2.0\contrib\analysis-extras\lucene-libs目录下的lucene-analyzers-smartcn-8.2.0.jar文件也要复制到D:\apache\apache-tomcat-9.0.22\webapps\solr\WEB-INF\lib目录下,(不明白出可以再看下我上篇文章)
第二步、将eclipse中的,如下文件(红框中)
① IKAnalyzer.cfg.xml ② ext.dic ③ stopword.dic ④ ik.conf ⑤ dynamicdic.txt
这5个文件复制到:D:\apache\apache-tomcat-9.0.22\webapps\solr\WEB-INF\classes目录下
如下:
修改D:\apache\apache-tomcat-9.0.22\webapps\solr\solrhome\collection1\conf中的managed-schema(一般没有文件扩展名,可以使用editplus工具打开),在文档的最后,添加如下代码:
<!-- 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>
添加如图:(千万记得是在managed-schema文件中添加,而不是solrconfig.xml中添加,否则显示不出啦哦)
添加好后,重启tomcat服务器......
等服务器启动好后,在浏览器中打开solr admin管理端:
浏览器输入:http://localhost:8980/solr/index.html#/ 之后进行如下操作
点击Analyse Values 按钮后出现如下界面:
此时我们的中文分词已经添加成功啦,哈哈!歇会吧
以上均是在win7环境下测试,并且通过,也没用加入solr8.2.0集群,仅供参考学习!