CavalliumDBEngine/src/main/java/it/cavallium/dbengine/lucene/analyzer/NCharGramEdgeAnalyzer.java

24 lines
630 B
Java
Raw Normal View History

package it.cavallium.dbengine.lucene.analyzer;
2020-12-07 22:15:18 +01:00
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
2022-01-11 22:23:07 +01:00
import org.apache.lucene.analysis.ngram.EdgeNGramTokenizer;
2020-12-07 22:15:18 +01:00
2021-02-05 20:34:58 +01:00
public class NCharGramEdgeAnalyzer extends Analyzer {
2020-12-07 22:15:18 +01:00
2021-02-05 20:34:58 +01:00
private final int minGram;
private final int maxGram;
2020-12-07 22:15:18 +01:00
2022-01-11 22:23:07 +01:00
public NCharGramEdgeAnalyzer(int minGram, int maxGram) {
2021-02-05 20:34:58 +01:00
this.minGram = minGram;
this.maxGram = maxGram;
2020-12-07 22:15:18 +01:00
}
@Override
protected TokenStreamComponents createComponents(final String fieldName) {
2022-01-11 22:23:07 +01:00
Tokenizer tokenizer = new EdgeNGramTokenizer(minGram, maxGram);
return new TokenStreamComponents(tokenizer);
2020-12-07 22:15:18 +01:00
}
}