@@ -241,15 +241,22 @@ public Map<String, AnalysisProvider<TokenFilterFactory>> getTokenFilters() {
241241 filters .put ("dutch_stem" , DutchStemTokenFilterFactory ::new );
242242 filters .put ("edge_ngram" , EdgeNGramTokenFilterFactory ::new );
243243 filters .put ("edgeNGram" , (IndexSettings indexSettings , Environment environment , String name , Settings settings ) -> {
244- if (indexSettings .getIndexVersionCreated ().onOrAfter (org .elasticsearch .Version .V_7_6_0 )) {
245- throw new IllegalArgumentException ("The [edgeNGram] token filter name was deprecated in 6.4 and "
246- + "cannot be used in new indices. Please change the filter name to [edge_ngram] instead." );
247- } else {
248- deprecationLogger .deprecatedAndMaybeLog ("edgeNGram_deprecation" ,
249- "The [edgeNGram] token filter name is deprecated and will be removed in a future version. "
250- + "Please change the filter name to [edge_ngram] instead." );
251- }
252- return new EdgeNGramTokenFilterFactory (indexSettings , environment , name , settings );
244+ return new EdgeNGramTokenFilterFactory (indexSettings , environment , name , settings ) {
245+ @ Override
246+ public TokenStream create (TokenStream tokenStream ) {
247+ if (indexSettings .getIndexVersionCreated ().onOrAfter (org .elasticsearch .Version .V_8_0_0 )) {
248+ throw new IllegalArgumentException (
249+ "The [edgeNGram] token filter name was deprecated in 6.4 and cannot be used in new indices. "
250+ + "Please change the filter name to [edge_ngram] instead." );
251+ } else {
252+ deprecationLogger .deprecatedAndMaybeLog ("edgeNGram_deprecation" ,
253+ "The [edgeNGram] token filter name is deprecated and will be removed in a future version. "
254+ + "Please change the filter name to [edge_ngram] instead." );
255+ }
256+ return super .create (tokenStream );
257+ }
258+
259+ };
253260 });
254261 filters .put ("elision" , requiresAnalysisSettings (ElisionTokenFilterFactory ::new ));
255262 filters .put ("fingerprint" , FingerprintTokenFilterFactory ::new );
@@ -271,15 +278,22 @@ public Map<String, AnalysisProvider<TokenFilterFactory>> getTokenFilters() {
271278 filters .put ("multiplexer" , MultiplexerTokenFilterFactory ::new );
272279 filters .put ("ngram" , NGramTokenFilterFactory ::new );
273280 filters .put ("nGram" , (IndexSettings indexSettings , Environment environment , String name , Settings settings ) -> {
274- if (indexSettings .getIndexVersionCreated ().onOrAfter (org .elasticsearch .Version .V_7_6_0 )) {
275- throw new IllegalArgumentException ("The [nGram] token filter name was deprecated in 6.4 and cannot be used in new indices. "
276- + "Please change the filter name to [ngram] instead." );
277- } else {
278- deprecationLogger .deprecatedAndMaybeLog ("nGram_deprecation" ,
279- "The [nGram] token filter name is deprecated and will be removed in a future version. "
280- + "Please change the filter name to [ngram] instead." );
281- }
282- return new NGramTokenFilterFactory (indexSettings , environment , name , settings );
281+ return new NGramTokenFilterFactory (indexSettings , environment , name , settings ) {
282+ @ Override
283+ public TokenStream create (TokenStream tokenStream ) {
284+ if (indexSettings .getIndexVersionCreated ().onOrAfter (org .elasticsearch .Version .V_8_0_0 )) {
285+ throw new IllegalArgumentException (
286+ "The [nGram] token filter name was deprecated in 6.4 and cannot be used in new indices. "
287+ + "Please change the filter name to [ngram] instead." );
288+ } else {
289+ deprecationLogger .deprecatedAndMaybeLog ("nGram_deprecation" ,
290+ "The [nGram] token filter name is deprecated and will be removed in a future version. "
291+ + "Please change the filter name to [ngram] instead." );
292+ }
293+ return super .create (tokenStream );
294+ }
295+
296+ };
283297 });
284298 filters .put ("pattern_capture" , requiresAnalysisSettings (PatternCaptureGroupTokenFilterFactory ::new ));
285299 filters .put ("pattern_replace" , requiresAnalysisSettings (PatternReplaceTokenFilterFactory ::new ));
0 commit comments