public void testAnalyzerAliasReferencesAlias() throws IOException { Settings settings = Settings.builder() .put("index.analysis.analyzer.foobar.alias","default") .put("index.analysis.analyzer.foobar.type", "german") .put("index.analysis.analyzer.foobar_search.alias","default_search") .put("index.analysis.analyzer.foobar_search.type", "default") .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir().toString()) // analyzer aliases are only allowed in 2.x indices .put(IndexMetaData.SETTING_VERSION_CREATED, VersionUtils.randomVersionBetween(random(), Version.V_2_0_0, Version.V_2_3_5)) .build(); AnalysisRegistry newRegistry = getNewRegistry(settings); IndexAnalyzers indexAnalyzers = getIndexAnalyzers(newRegistry, settings); assertThat(indexAnalyzers.get("default").analyzer(), is(instanceOf(GermanAnalyzer.class))); // analyzer types are bound early before we resolve aliases assertThat(indexAnalyzers.get("default_search").analyzer(), is(instanceOf(StandardAnalyzer.class))); assertWarnings("setting [index.analysis.analyzer.foobar.alias] is only allowed on index [test] because it was created before " + "5.x; analyzer aliases can no longer be created on new indices.", "setting [index.analysis.analyzer.foobar_search.alias] is only allowed on index [test] because it was created before " + "5.x; analyzer aliases can no longer be created on new indices."); }
public GermanAnalyzerProvider(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); analyzer = new GermanAnalyzer( Analysis.parseStopWords(env, indexSettings.getIndexVersionCreated(), settings, GermanAnalyzer.getDefaultStopSet()), Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET) ); analyzer.setVersion(version); }
@Inject public GermanAnalyzerProvider(Index index, IndexSettingsService indexSettingsService, Environment env, @Assisted String name, @Assisted Settings settings) { super(index, indexSettingsService.getSettings(), name, settings); analyzer = new GermanAnalyzer(Analysis.parseStopWords(env, settings, GermanAnalyzer.getDefaultStopSet()), Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET)); analyzer.setVersion(version); }
public static Analyzer make(JsonNode options) { Injector injector = Guice.createInjector(new AnalyzerModule()); CharArraySet stopWordSet = getStopWords(options.get("stopwords"), GermanAnalyzer.getDefaultStopSet()); org.apache.lucene.analysis.Analyzer analyzer = new GermanAnalyzer(Version.LUCENE_4_9, stopWordSet); TokenMapper mapper = injector.getInstance(TokenMapper.class); mapper.setBloomFilter(getBloomFilter(options)); return new LuceneGermanAnalyzer(mapper, analyzer); }
/** * Constructor * @param db whether or not to use ContentDB (i.e. whether or not url's are crawled) */ public SingleIndexLuceneRecommender(boolean db){ if(db) contentDB = new ContentDB(); try { Analyzer analyzer = new GermanAnalyzer(Version.LUCENE_43); IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_43, analyzer); File indexDir = new File("./index"); Directory index = FSDirectory.open(indexDir); domainWriter = new IndexWriter(index, config); } catch (IOException e) { logger.error(e.getMessage()); } }
@Override public GermanAnalyzer get() { return this.analyzer; }
protected void configureLucene() { bind(Stemmer.class).to(LuceneStemmer.class); bind(TextNormalizer.class).to(LuceneNormalizer.class); bind(CharArraySet.class).annotatedWith(Models.named(LuceneNormalizer.LUCENE_STOP_WORDS_MODEL)).toInstance(GermanAnalyzer.getDefaultStopSet()); }
@Provides @Singleton @NoStopWordFiltering public Analyzer getGermanWithStopWordsAnalyzer() { return new GermanAnalyzer(CharArraySet.EMPTY_SET); }
@Singleton @Provides public Analyzer getGermanAnalyzer() { return new GermanAnalyzer(); }
/** * 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); }