package it.cavallium.dbengine.lucene.analyzer; import it.cavallium.dbengine.lucene.LuceneUtils; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.KeywordTokenizer; import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; import org.apache.lucene.analysis.ngram.EdgeNGramTokenizer; import org.apache.lucene.analysis.ngram.NGramTokenizer; import org.apache.lucene.analysis.standard.StandardTokenizer; public class NCharGramEdgeAnalyzer extends Analyzer { private final int minGram; private final int maxGram; public NCharGramEdgeAnalyzer(int minGram, int maxGram) { this.minGram = minGram; this.maxGram = maxGram; } @Override protected TokenStreamComponents createComponents(final String fieldName) { Tokenizer tokenizer = new EdgeNGramTokenizer(minGram, maxGram); return new TokenStreamComponents(tokenizer); } }