public void TestReusableTokenStream() { ArabicAnalyzer a = new ArabicAnalyzer(Version.LUCENE_CURRENT); AssertAnalyzesToReuse(a, "كبير", new String[] { "كبير" }); AssertAnalyzesToReuse(a, "كبيرة", new String[] { "كبير" }); // feminine marker }
public void TestBasicFeatures() { ArabicAnalyzer a = new ArabicAnalyzer(Version.LUCENE_CURRENT); AssertAnalyzesTo(a, "كبير", new String[] { "كبير" }); AssertAnalyzesTo(a, "كبيرة", new String[] { "كبير" }); // feminine marker AssertAnalyzesTo(a, "مشروب", new String[] { "مشروب" }); AssertAnalyzesTo(a, "مشروبات", new String[] { "مشروب" }); // plural -at AssertAnalyzesTo(a, "أمريكيين", new String[] { "امريك" }); // plural -in AssertAnalyzesTo(a, "امريكي", new String[] { "امريك" }); // singular with bare alif AssertAnalyzesTo(a, "كتاب", new String[] { "كتاب" }); AssertAnalyzesTo(a, "الكتاب", new String[] { "كتاب" }); // definite article AssertAnalyzesTo(a, "ما ملكت أيمانكم", new String[] { "ملكت", "ايمانكم" }); AssertAnalyzesTo(a, "الذين ملكت أيمانكم", new String[] { "ملكت", "ايمانكم" }); // stopwords }
internal static PerFieldAnalyzerWrapper BuildAnalyzer(Lucene.Net.Util.Version version, Dictionary <string, AyatColumnAttribute> fieldInfo) { var analyzer = new StandardAnalyzer(version); var analyzer2 = new ArabicAnalyzer(version); var whitespaceAnalyzer = new WhitespaceAnalyzer(); var perFieldAnalyzerWrapper = new PerFieldAnalyzerWrapper(whitespaceAnalyzer); foreach (KeyValuePair <string, AyatColumnAttribute> current in fieldInfo) { switch (current.Value.Language) { case Language.Arabic: case Language.ArabicNoAraab: perFieldAnalyzerWrapper.AddAnalyzer(current.Key, analyzer2); continue; case Language.English: perFieldAnalyzerWrapper.AddAnalyzer(current.Key, analyzer); continue; } perFieldAnalyzerWrapper.AddAnalyzer(current.Key, whitespaceAnalyzer); } return(perFieldAnalyzerWrapper); }
public void TestCustomStopwords() { ArabicAnalyzer a = new ArabicAnalyzer(Version.LUCENE_CURRENT, new String[] { "the", "and", "a" }); AssertAnalyzesTo(a, "The quick brown fox.", new String[] { "quick", "brown", "fox" }); }