Beispiel #1
0
        /**
         * @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");
        }