view src/goodjava/lucene/analysis/LowercaseAnalyzer.java @ 1777:e59349d53fec

optimize String.replace and regex.gsub
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 10 Aug 2023 16:24:20 -0600
parents 13cbce740e1e
children
line wrap: on
line source

package goodjava.lucene.analysis;

import java.io.Reader;
import org.apache.lucene.util.Version;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.analysis.core.LowerCaseFilter;


public final class LowercaseAnalyzer extends Analyzer {
	private final Version matchVersion;

	public LowercaseAnalyzer(Version matchVersion) {
		this.matchVersion = matchVersion;
	}

	protected TokenStreamComponents createComponents( String fieldName, Reader reader ) {
		Tokenizer source = new KeywordTokenizer(reader);
		TokenStream filter = new LowerCaseFilter(matchVersion,source);
		return new TokenStreamComponents(source,filter);
	}
}