All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.wltea.analyzer.lucene.IKAnalyzer Maven / Gradle / Ivy

The newest version!
package org.wltea.analyzer.lucene;

import java.io.Reader;
import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;

import com.ld.zxw.config.LucenePlusConfig;

/**
 * IK分词器,Lucene Analyzer接口实现
 * 兼容Lucene 6.x版本
 */
public final class IKAnalyzer extends Analyzer{
	
	private boolean useSmart;
	
	private LucenePlusConfig lucenePlusConfig;
	
	public boolean useSmart() {
		return useSmart;
	}

	public void setUseSmart(boolean useSmart) {
		this.useSmart = useSmart;
	}

	/**
	 * IK分词器Lucene  Analyzer接口实现类
	 * 
	 * 默认细粒度切分算法
	 */
	public IKAnalyzer(){
		this(false);
	}
	
	/**
	 * IK分词器Lucene Analyzer接口实现类
	 * 
	 * @param useSmart 当为true时,分词器进行智能切分
	 */
	public IKAnalyzer(boolean useSmart){
		super();
		this.useSmart = useSmart;
	}
	public IKAnalyzer(boolean useSmart,LucenePlusConfig lucenePlusConfig){
		this.useSmart = false;
		this.lucenePlusConfig = lucenePlusConfig;
	}

	@Override
	protected TokenStreamComponents createComponents(String fieldName) {
		Reader reader=new StringReader(fieldName);
		IKTokenizer ikTokenizer = new IKTokenizer(reader, this.useSmart,lucenePlusConfig);
		return new TokenStreamComponents(ikTokenizer);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy