solr6.6 添加IK分词

来源:互联网 发布:苹果6忽略网络怎么恢复 编辑:程序博客网 时间:2024/06/06 04:08

ik分词器

一·复制ext.dic IKAnalyzer.cfg.xml stopword.dic 三个放到 -tomcat-9.0.0.M21/webapps/solr/WEB-INF/classes 目录下

二·复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到tomcat-9.0.0.M21/webapps/solr/WEB-INF/lib目录下。

三·在 solrhome\mycore\conf\managed-schema 文件前增加如下配置

    <!-- IK-analyzer xuye  -->    <fieldType name="text_ik" class="solr.TextField">        <analyzer type="index">            <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>        </analyzer>        <analyzer type="query">            <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>        </analyzer>    </fieldType></schema>

记得将stopword.dic,ext.dic的编码方式为UTF-8 无BOM的编码方式。

配置拼音检索:

1、前期准备,需要用到pinyin4j-2.5.0.jar、pinyinAnalyzer.jar这两个jar包,下载地址。

2、将pinyin4j-2.5.0.jar、pinyinAnalyzer.jar这两个jar包复制到/down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。

[root@localhost down]# cp pinyin4j-2.5.0.jar pinyinAnalyzer4.3.1.jar /down/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/
3、在 solrhome\mycore\conf\managed-schema 文件前增加如下配置:

<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">    <analyzer type="index">        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />    </analyzer>    <analyzer type="query">        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />    </analyzer></fieldType>

重启tomcat查看拼音检索效果。