View Javadoc
1   package org.wikimedia.search.extra.analysis.turkish;
2   
3   import static java.util.Collections.singletonList;
4   import static java.util.Collections.singletonMap;
5   
6   import java.util.List;
7   import java.util.Map;
8   
9   import org.elasticsearch.index.analysis.PreConfiguredTokenFilter;
10  import org.elasticsearch.index.analysis.TokenFilterFactory;
11  import org.elasticsearch.indices.analysis.AnalysisModule.AnalysisProvider;
12  import org.elasticsearch.plugins.AnalysisPlugin;
13  import org.elasticsearch.plugins.Plugin;
14  
15  /**
16   * Setup the Elasticsearch plugin.
17   */
18  public class ExtraAnalysisTurkishPlugin extends Plugin implements AnalysisPlugin {
19  
20      @Override
21      public Map<String, AnalysisProvider<TokenFilterFactory>> getTokenFilters() {
22          return singletonMap("better_apostrophe", BetterApostropheFilterFactory::new);
23      }
24  
25      @Override
26      public List<PreConfiguredTokenFilter> getPreConfiguredTokenFilters() {
27          return singletonList(PreConfiguredTokenFilter.singleton("better_apostrophe", true, BetterApostropheFilter::new));
28      }
29  }