/** * @param language * @return */ protected Analyzer GetAnalyzerForLanguage(string language) { Analyzer contentAnalyzer = null; Analyzer defaultAnalyzer = null; PerFieldAnalyzerWrapper perFieldAnalyzer = null; switch (language) { case "de": contentAnalyzer = new GermanAnalyzer(); break; case "eo": contentAnalyzer = new EsperantoAnalyzer(); break; case "ru": contentAnalyzer = new RussianAnalyzer(); break; } if (contentAnalyzer == null) { contentAnalyzer = new EnglishAnalyzer(); } if (defaultAnalyzer == null) { defaultAnalyzer = new SimpleAnalyzer(); } perFieldAnalyzer = new PerFieldAnalyzerWrapper(defaultAnalyzer); perFieldAnalyzer.AddAnalyzer("contents", contentAnalyzer); return(perFieldAnalyzer); }
public void TestReusableTokenStream() { Analyzer a = new GermanAnalyzer(Version.LUCENE_CURRENT); CheckReuse(a, "Tisch", "tisch"); CheckReuse(a, "Tische", "tisch"); CheckReuse(a, "Tischen", "tisch"); }
public void TestExclusionTableReuse() { var a = new GermanAnalyzer(Version.LUCENE_CURRENT); CheckReuse(a, "tischen", "tisch"); a.SetStemExclusionTable(new[] { "tischen" }); CheckReuse(a, "tischen", "tischen"); }