AnalyzerFactory.java
package sk.iway.iwcm.system.fulltext.lucene;
import org.apache.lucene.util.Version;
import sk.iway.iwcm.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.cz.CzechAnalyzer;
import org.apache.lucene.analysis.de.GermanAnalyzer;
import org.apache.lucene.analysis.en.EnglishAnalyzer;
public class AnalyzerFactory {
private AnalyzerFactory() {
//private konstruktor, je to len factory trieda so statickymi metodami
}
/**
* Vrati analyzer pre zadany jazyk
* @param matchVersion
* @param language
* @return
*/
public static Analyzer getAnalyzer(Version matchVersion, String language) {
Logger.debug(AnalyzerFactory.class, "getAnalyzer("+language+")");
if ("en".equals(language)) return new EnglishAnalyzer(matchVersion);
else if ("cz".equals(language)) return new CzechAnalyzer(matchVersion);
else if ("de".equals(language)) return new GermanAnalyzer(matchVersion);
//defaultne vrat SK analyzer
return new CustomAnalyzer(matchVersion, language);
}
}