View Javadoc
1   package org.wikimedia.search.extra.analysis.filters;
2   
3   import org.apache.lucene.analysis.TokenStream;
4   import org.elasticsearch.common.inject.Inject;
5   import org.elasticsearch.common.settings.Settings;
6   import org.elasticsearch.env.Environment;
7   import org.elasticsearch.index.IndexSettings;
8   import org.elasticsearch.index.analysis.AbstractTokenFilterFactory;
9   
10  /**
11   * Factories for the preserve_original filters.
12   */
13  public class PreserveOriginalFilterFactory extends AbstractTokenFilterFactory {
14      public PreserveOriginalFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) {
15          super(indexSettings, name, settings);
16      }
17  
18      @Override
19      public TokenStream create(TokenStream tokenStream) {
20          return new PreserveOriginalFilter(tokenStream);
21      }
22  
23      public static class RecorderFactory extends AbstractTokenFilterFactory {
24          @Inject
25          public RecorderFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) {
26              super(indexSettings, name, settings);
27          }
28  
29          @Override
30          public TokenStream create(TokenStream tokenStream) {
31              return new PreserveOriginalFilter.Recorder(tokenStream);
32          }
33      }
34  }