30 lines
963 B
Java
30 lines
963 B
Java
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);
|
|
}
|
|
|
|
}
|