solr6.5的分词

Posted paulversion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr6.5的分词相关的知识,希望对你有一定的参考价值。

 1、配置solr6.5自带中文分词。复制/usr/local/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.5.0.jar到/usr/local/tomcat/webapps/solr/WEB-INF/lib/目录下。

cp /usr/local/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.5.0.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/

、为core添加对中文分词的支持。编辑mycore下conf下的managed-schema文件.

cd /usr/local/tomcat/solrhome/mycore/conf

vi managed-schema 

在文件的</schema>前添加
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0">
    <analyzer type="index">
      <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
    <analyzer type="query">
       <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
</fieldType>

重启tomcat,后在浏览器输入http://localhost:8080/solr/index.html#/mycore/analysis

二、配置IKAnalyzer的中文分词:


1、首先下载IKAnalyzer 这是最新的支持solr6.5. 解压后会有四个文件。

ext.dic为扩展字典,stopword.dic为停止词字典,IKAnalyzer.cfg.xml为配置文件,solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar为分词jar包。

2、将文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下,并修改IKAnalyzer.cfg.xml

cp ext.dic IKAnalyzer.cfg.xml stopword.dic /usr/local/tomcat/webapps/solr/WEB-INF/classes/

vim IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict">ext.dic;</entry>

        <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">stopword.dic;</entry>

</properties>


3、在ext.dic 里增加自己的扩展词典,例如,唯品会 聚美优品

 

 

4、复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到/usr/local/tomcat/webapps/solr/WEB-INF/lib/目录下。

 

 cp /down/ikanalyzer-solr5/solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/


5、在 solrhome\\mycore\\conf\\managed-schema 文件</schema>前增加如下配置

<!-- 我添加的IK分词 -->
<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>


三、配置拼音检索:

 

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

 

 

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

 

cp pinyin4j-2.5.0.jar pinyinAnalyzer4.3.1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/

3、在 solrhome\\mycore\\conf\\managed-schema 文件</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>

 

 

 

 










以上是关于solr6.5的分词的主要内容,如果未能解决你的问题,请参考以下文章

solr6.5.1中文分词

solr6.5.0版本(Windows安装图解)

Solr6.5在Centos6上的安装与配置

Solr6.5创建core

Solr6.5查询参数说明

Solr6.5与mysql集成建立索引