标签:
1、 名词说明
中文分词要处理的数据为文本数据:solr.TextField,需在schema.xml文件中做相关配置,配置选项如下:
2、分词工作流程简述
analyzer负责把文本field转化为token流,然后自己处理,或者调用tokenzier和filter进一步处理。Tokenzier和filter是同等级和顺序执行的关系,一个处理完后交给下一个处理。对于filter而言,一般通用的处理放在前面,特殊的处理靠后。
3、Smartcn分词器配置
在managed-schema文档中已经定义了一些分词规则。中文分词在solr中是没有默认开启的,需要另外配置一个中文分词。目前可用的分词器有smartcn,IK,Jeasy,庖丁。
Solr官方提供了简体中文分词Smartcn,以此为例,步骤如下:
1、 将solr-6.1.0\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-6.1.0.jar拷贝到Tomcat安装目录 \webapps\solr\WEB-INF\lib\目录下。
2、 配置managed-schema文档
配置如下:
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> <!--filter内容可以根据需求配置--> <filter class="solr.PorterStemFilterFactory" /> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> <filter class="solr.PorterStemFilterFactory" /> </analyzer> </fieldType> <!--6.1版本不支持SmartChineseSentenceTokenizerFactory类,以前版本可能支持,须看具体情况 <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/> <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory" /> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/> <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory" /> </analyzer> </fieldType> -->
重启服务,效果如下。
4、IK分词器配置
1、IK Analyzer版本:IKAnalyzer 2012FF_hf1
下载地址:https://code.google.com/p/ik-analyzer/downloads/list,
解压IK Analyzer 2012FF_hf1.zip,将解压后文件夹中的IKAnalyzer2012FF_u1.jar拷贝到Tomcat安装目录 \webapps\solr\WEB-INF\lib\目录 下。
2、配置managed-schema文档
配置如下:
<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" /> </fieldType>
重启服务,配置成功。
说明:
不能将positionIncrementGap="100"放入到<fieldType>字段类型中去,因为IKAnalyzer不支持positionIncrementGap的属性注入;若添加则启动tomcat时会出现org.apache.solr.common.SolrException: Plugin Initializing failurefor [schema.xml] fieldType错误提示
标签:
原文地址:http://www.cnblogs.com/saratearing/p/5741133.html