@Test public void testParseJSONWithNullDefaultAnalyzer() throws IOException { String json = "{" + " analyzers:{" + " spanish_analyzer : {" + " type:\"classpath\", " + " class:\"org.apache.lucene.analysis.es.SpanishAnalyzer\"}," + " snowball_analyzer : {" + " type:\"snowball\", " + " language:\"Spanish\", " + " stopwords : \"el,la,lo,lo,as,las,a,ante,con,contra\"}" + " }," + " fields : { id : {type : \"integer\"} }" + " }'"; Schema schema = JsonSerializer.fromString(json, Schema.class); Analyzer defaultAnalyzer = schema.getDefaultAnalyzer(); Assert.assertEquals(PreBuiltAnalyzers.DEFAULT.get(), defaultAnalyzer); Analyzer spanishAnalyzer = schema.getAnalyzer("spanish_analyzer"); Assert.assertTrue(spanishAnalyzer instanceof SpanishAnalyzer); schema.close(); }
public SpanishAnalyzerProvider(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); analyzer = new SpanishAnalyzer( Analysis.parseStopWords(env, indexSettings.getIndexVersionCreated(), settings, SpanishAnalyzer.getDefaultStopSet()), Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET) ); analyzer.setVersion(version); }
@Inject public SpanishAnalyzerProvider(Index index, IndexSettingsService indexSettingsService, Environment env, @Assisted String name, @Assisted Settings settings) { super(index, indexSettingsService.getSettings(), name, settings); analyzer = new SpanishAnalyzer(Analysis.parseStopWords(env, settings, SpanishAnalyzer.getDefaultStopSet()), Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET)); analyzer.setVersion(version); }
protected void configureLucene() { bind(Tokenizer.class).to(LuceneTokenizer.class).in(Singleton.class); bind(Stemmer.class).to(LuceneStemmer.class).in(Singleton.class); bind(TextNormalizer.class).to(LuceneNormalizer.class).in(Singleton.class); bind(CoarsePosTagConverter.class).in(Singleton.class); bind(CharArraySet.class).annotatedWith(Models.named(LuceneNormalizer.LUCENE_STOP_WORDS_MODEL)).toInstance(SpanishAnalyzer.getDefaultStopSet()); }
@Test public void testRegularConstructor() { Map<String, AnalyzerBuilder> analyzers = new HashMap<>(); analyzers.put("custom", new ClasspathAnalyzerBuilder("org.apache.lucene.analysis.es.SpanishAnalyzer")); Analysis analysis = new Analysis(analyzers); Analyzer englishAnalyzer = analysis.getAnalyzer("English"); Assert.assertEquals(EnglishAnalyzer.class, englishAnalyzer.getClass()); Analyzer customAnalyzer = analysis.getAnalyzer("custom"); Assert.assertEquals(SpanishAnalyzer.class, customAnalyzer.getClass()); }
@BeforeClass public static void beforeClass() { englishAnalyzer = new EnglishAnalyzer(); spanishAnalyzer = new SpanishAnalyzer(); Map<String, Analyzer> analyzers = new HashMap<>(); analyzers.put("english", englishAnalyzer); analyzers.put("spanish", spanishAnalyzer); perFieldAnalyzer = new PerFieldAnalyzerWrapper(spanishAnalyzer, analyzers); }
@Test public void testParseJSON() throws IOException { String json = "{" + " analyzers:{" + " spanish_analyzer : {type:\"classpath\", " + " class:\"org.apache.lucene.analysis.es.SpanishAnalyzer\"}," + " snowball_analyzer : {type:\"snowball\", " + " language:\"Spanish\", " + " stopwords : \"el,la,lo,loas,las,a,ante,bajo,cabe,con,contra\"}" + " }," + " default_analyzer : \"spanish_analyzer\"," + " fields : {" + " id : {type : \"integer\"}," + " spanish_text : {type:\"text\", analyzer:\"spanish_analyzer\"}," + " snowball_text : {type:\"text\", analyzer:\"snowball_analyzer\"}" + " }" + " }'"; Schema schema = JsonSerializer.fromString(json, Schema.class); Analyzer defaultAnalyzer = schema.getDefaultAnalyzer(); Assert.assertTrue(defaultAnalyzer instanceof SpanishAnalyzer); Analyzer spanishAnalyzer = schema.getAnalyzer("spanish_analyzer"); Assert.assertTrue(spanishAnalyzer instanceof SpanishAnalyzer); ColumnMapper idMapper = schema.getMapper("id"); Assert.assertTrue(idMapper instanceof ColumnMapperInteger); ColumnMapper spanishMapper = schema.getMapper("spanish_text"); Assert.assertTrue(spanishMapper instanceof ColumnMapperText); Assert.assertEquals("spanish_analyzer", spanishMapper.analyzer()); ColumnMapper snowballMapper = schema.getMapper("snowball_text"); Assert.assertTrue(snowballMapper instanceof ColumnMapperText); Assert.assertEquals("snowball_analyzer", snowballMapper.analyzer()); schema.close(); }
@Test public void testParseJSONWithNullAnalyzers() throws IOException { String json = "{" + " default_analyzer : \"org.apache.lucene.analysis.en.EnglishAnalyzer\"," + " fields : {" + " id : {type : \"integer\"}," + " spanish_text : {" + " type:\"text\", " + " analyzer:\"org.apache.lucene.analysis.es.SpanishAnalyzer\"}," + " snowball_text : {" + " type:\"text\", " + " analyzer:\"org.apache.lucene.analysis.en.EnglishAnalyzer\"}" + " }" + " }'"; Schema schema = JsonSerializer.fromString(json, Schema.class); Analyzer defaultAnalyzer = schema.getDefaultAnalyzer(); Assert.assertTrue(defaultAnalyzer instanceof EnglishAnalyzer); ColumnMapper idMapper = schema.getMapper("id"); Assert.assertTrue(idMapper instanceof ColumnMapperInteger); ColumnMapper spanishMapper = schema.getMapper("spanish_text"); Assert.assertTrue(spanishMapper instanceof ColumnMapperText); Assert.assertEquals(SpanishAnalyzer.class.getName(), spanishMapper.analyzer()); ColumnMapper snowballMapper = schema.getMapper("snowball_text"); Assert.assertTrue(snowballMapper instanceof ColumnMapperText); Assert.assertEquals(EnglishAnalyzer.class.getName(), snowballMapper.analyzer()); schema.close(); }
@Test public void testParseJSONWithEmptyAnalyzers() throws IOException { String json = "{" + " analyzers:{}, " + " default_analyzer : \"org.apache.lucene.analysis.en.EnglishAnalyzer\"," + " fields : {" + " id : {type : \"integer\"}," + " spanish_text : {type:\"text\", " + " analyzer:\"org.apache.lucene.analysis.es.SpanishAnalyzer\"}," + " snowball_text : {type:\"text\", " + " analyzer:\"org.apache.lucene.analysis.en.EnglishAnalyzer\"}" + " }" + " }'"; Schema schema = JsonSerializer.fromString(json, Schema.class); Analyzer defaultAnalyzer = schema.getDefaultAnalyzer(); Assert.assertTrue(defaultAnalyzer instanceof EnglishAnalyzer); ColumnMapper idMapper = schema.getMapper("id"); Assert.assertEquals(ColumnMapperInteger.class, idMapper.getClass()); ColumnMapper spanishMapper = schema.getMapper("spanish_text"); Assert.assertTrue(spanishMapper instanceof ColumnMapperText); Assert.assertEquals(SpanishAnalyzer.class.getName(), spanishMapper.analyzer()); ColumnMapper snowballMapper = schema.getMapper("snowball_text"); Assert.assertTrue(snowballMapper instanceof ColumnMapperText); Assert.assertEquals(EnglishAnalyzer.class.getName(), snowballMapper.analyzer()); schema.close(); }
@Override public SpanishAnalyzer get() { return this.analyzer; }
@Singleton @Provides @NoStopWordFiltering public Analyzer getSpanishWithStopWordsAnalyzer() { return new SpanishAnalyzer(CharArraySet.EMPTY_SET); }
@Singleton @Provides public Analyzer getSpanishAnalyzer() { return new SpanishAnalyzer(); }
/** * Returns the default stopwords set used by Lucene language analyzer for the specified language. * * @param language The language for which the stopwords are. The supported languages are English, French, Spanish, * Portuguese, Italian, Romanian, German, Dutch, Swedish, Norwegian, Danish, Russian, Finnish, * Irish, Hungarian, Turkish, Armenian, Basque and Catalan. * @return The default stopwords set used by Lucene language analyzers. */ private static CharArraySet getDefaultStopwords(String language) { switch (language) { case "English": return EnglishAnalyzer.getDefaultStopSet(); case "French": return FrenchAnalyzer.getDefaultStopSet(); case "Spanish": return SpanishAnalyzer.getDefaultStopSet(); case "Portuguese": return PortugueseAnalyzer.getDefaultStopSet(); case "Italian": return ItalianAnalyzer.getDefaultStopSet(); case "Romanian": return RomanianAnalyzer.getDefaultStopSet(); case "German": return GermanAnalyzer.getDefaultStopSet(); case "Dutch": return DutchAnalyzer.getDefaultStopSet(); case "Swedish": return SwedishAnalyzer.getDefaultStopSet(); case "Norwegian": return NorwegianAnalyzer.getDefaultStopSet(); case "Danish": return DanishAnalyzer.getDefaultStopSet(); case "Russian": return RussianAnalyzer.getDefaultStopSet(); case "Finnish": return FinnishAnalyzer.getDefaultStopSet(); case "Irish": return IrishAnalyzer.getDefaultStopSet(); case "Hungarian": return HungarianAnalyzer.getDefaultStopSet(); case "Turkish": return SpanishAnalyzer.getDefaultStopSet(); case "Armenian": return SpanishAnalyzer.getDefaultStopSet(); case "Basque": return BasqueAnalyzer.getDefaultStopSet(); case "Catalan": return CatalanAnalyzer.getDefaultStopSet(); default: return CharArraySet.EMPTY_SET; } }
public Tokenizer() { Analyzer en_analyzer = new EnglishAnalyzer(Version.LUCENE_44); Analyzer es_analyzer = new SpanishAnalyzer(Version.LUCENE_44); Analyzer de_analyzer = new GermanAnalyzer(Version.LUCENE_44); Analyzer da_analyzer = new DanishAnalyzer(Version.LUCENE_44); Analyzer el_analyzer = new GreekAnalyzer(Version.LUCENE_44); Analyzer fr_analyzer = new FrenchAnalyzer(Version.LUCENE_44); Analyzer it_analyzer = new ItalianAnalyzer(Version.LUCENE_44); Analyzer pt_analyzer = new PortugueseAnalyzer(Version.LUCENE_44); Analyzer ru_analyzer = new RussianAnalyzer(Version.LUCENE_44); Analyzer fa_analyzer = new PersianAnalyzer(Version.LUCENE_44); Analyzer ar_analyzer = new ArabicAnalyzer(Version.LUCENE_44); Analyzer id_analyzer = new IndonesianAnalyzer(Version.LUCENE_44); Analyzer pl_analyzer = new MorfologikAnalyzer(Version.LUCENE_44); Analyzer nl_analyzer = new DutchAnalyzer(Version.LUCENE_44); Analyzer no_analyzer = new NorwegianAnalyzer(Version.LUCENE_44); Analyzer ro_analyzer = new RomanianAnalyzer(Version.LUCENE_44); Analyzer sv_analyzer = new SwedishAnalyzer(Version.LUCENE_44); Analyzer fi_analyzer = new FinnishAnalyzer(Version.LUCENE_44); Analyzer tr_analyzer = new TurkishAnalyzer(Version.LUCENE_44); Analyzer hu_analyzer = new HungarianAnalyzer(Version.LUCENE_44); Analyzer bg_analyzer = new BulgarianAnalyzer(Version.LUCENE_44); analyzers.put("en", en_analyzer); analyzers.put("es", es_analyzer); analyzers.put("de", de_analyzer); analyzers.put("da", da_analyzer); analyzers.put("el", el_analyzer); analyzers.put("fr", fr_analyzer); analyzers.put("it", it_analyzer); analyzers.put("pt", pt_analyzer); analyzers.put("ru", ru_analyzer); analyzers.put("fa", fa_analyzer); analyzers.put("ar", ar_analyzer); analyzers.put("id", id_analyzer); analyzers.put("pl", pl_analyzer); analyzers.put("nl", nl_analyzer); analyzers.put("no", no_analyzer); analyzers.put("ro", ro_analyzer); analyzers.put("sv", sv_analyzer); analyzers.put("fi", fi_analyzer); analyzers.put("tr", tr_analyzer); analyzers.put("hu", hu_analyzer); analyzers.put("bg", bg_analyzer); }