Solr配置ik中文分词器
- Solr使用的ik中文分词器github地址:ik-analyzer-solr
- 在github页面上根据自己的Solr版本号下载相应的jar包,我这里下的是7.7.1,将jar包放入Solr服务的Jetty或Tomcat的webapp/WEB-INF/lib/目录下;
- 下载该github项目,会得到一个叫做ik-analyzer-solr-master.zip的压缩文件,解压它,将/src/main/resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下;
配置Solr的managed-schema(在建立的core目录下),添加ik分词器,示例如下;
<!-- 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>
- 启动Solr服务测试分词,选择相应的core文件,我这里选的是core1,在弹出的选项中选择Analysis,会跳转到分析的界面,在Analyse Fieldname / FieldType:选择text_ik,输入一句话并点击Analyse Values,如果单词被划分出来则说明分词器工作正常。
- 由于一些专有词汇无法被识别,因此要加入自己的字典,字典目录为serversolr-webappwebappWEB-INFclassesext.dic,编码建议用UTF-8无BOM格式。