Skip to content

Latest commit

 

History

History
48 lines (44 loc) · 2.7 KB

README.md

File metadata and controls

48 lines (44 loc) · 2.7 KB

easyPinyinAnalyzer

   solr的中文拼音分词过滤器,支持全拼、简拼、简拼和全拼同时输出、简拼全拼混合输出,同时提供了一个基于NGram
   算法的类似EdgeNGramTokenFilter的过滤器,支持双向过滤。

Maven

<dependency>
    <groupId>com.github.wangwenbincom</groupId>
    <artifactId>easyPinyinAnalyzer</artifactId>
    <version>1.0.1</version>
</dependency>

使用说明

schema.xml配置

<fieldType name="text_pinyin" class="solr.TextField">
	<analyzer type="index">
		<charFilter class="solr.HTMLStripCharFilterFactory"/>
		<tokenizer class="solr.WhitespaceTokenizerFactory" />			
		<filter class="solr.LowerCaseFilterFactory"/>
		<filter class="org.easy.search.analysis.PinyinTransformTokenFilterFactory" minTerm="1"  outputFormat="both" outOriginal="false" mixShort="5" />
	  <filter class="org.easy.search.analysis.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" outputDirection="both"/>
	</analyzer>
	<analyzer type="query">
	  <charFilter class="solr.HTMLStripCharFilterFactory"/>
	  <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
	  <filter class="solr.LowerCaseFilterFactory"/>
	  <filter class="org.easy.search.analysis.PinyinTransformTokenFilterFactory" minTerm="1"  outputFormat="both" outOriginal="false" mixShort="5" />
	  <filter class="org.easy.search.analysis.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" outputDirection="both"/>
	</analyzer>
</fieldType>

PinyinTransformTokenFilterFactory参数配置说明

配置项名称功能默认值
outOriginal输出原词元标识,例如:天气不错,为true时分词后的天气不错和拼音一起输出,否则只输出拼音true
outputFormat输出格式,full全拼、short简拼、both两者同时输出both
minTerm输出中文词元拼音的最小长度,大于此长度的中文转拼音输出,否则不输出2
mixShort此值大于0时,输出混合拼音,如果输出格式中有简拼,则中文长度最小为3此值有效,否则长度为2有效,取值范围[1-10]0

PinyinNGramTokenFilterFactory参数配置说明

配置项名称功能默认值
minGram最小拼音切分长度1
maxGram最大拼音切分长度10
outputDirection输出方向,front正向输出(从左到右)、back反向输出(从右向左)、both双向输出both

版权

   Apache License Version 2.0