Skip to content

Commit 8af01df

Browse files
rjernstjasontedor
authored andcommitted
Cleanup versioned deprecations in analysis (#41560)
This commit removes versioned logic in analyzer creation that is no longer relevant for 8.0.
1 parent a032d2f commit 8af01df

File tree

22 files changed

+21
-602
lines changed

22 files changed

+21
-602
lines changed

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CJKBigramFilterFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.apache.lucene.analysis.TokenStream;
2424
import org.apache.lucene.analysis.cjk.CJKBigramFilter;
2525
import org.apache.lucene.analysis.miscellaneous.DisableGraphAttribute;
26-
import org.elasticsearch.Version;
2726
import org.elasticsearch.common.logging.DeprecationLogger;
2827
import org.elasticsearch.common.settings.Settings;
2928
import org.elasticsearch.env.Environment;
@@ -99,14 +98,7 @@ public TokenStream create(TokenStream tokenStream) {
9998
@Override
10099
public TokenFilterFactory getSynonymFilter() {
101100
if (outputUnigrams) {
102-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
103-
throw new IllegalArgumentException("Token filter [" + name() +
104-
"] cannot be used to parse synonyms");
105-
}
106-
else {
107-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
108-
+ "] will not be usable to parse synonyms after v7.0");
109-
}
101+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
110102
}
111103
return this;
112104
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonAnalysisPlugin.java

-10
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ public Map<String, AnalysisProvider<AnalyzerProvider<? extends Analyzer>>> getAn
173173
analyzers.put("fingerprint", FingerprintAnalyzerProvider::new);
174174

175175
// TODO remove in 8.0
176-
analyzers.put("standard_html_strip", StandardHtmlStripAnalyzerProvider::new);
177176
analyzers.put("pattern", PatternAnalyzerProvider::new);
178177
analyzers.put("snowball", SnowballAnalyzerProvider::new);
179178

@@ -233,7 +232,6 @@ public Map<String, AnalysisProvider<TokenFilterFactory>> getTokenFilters() {
233232
filters.put("condition",
234233
requiresAnalysisSettings((i, e, n, s) -> new ScriptedConditionTokenFilterFactory(i, n, s, scriptService.get())));
235234
filters.put("decimal_digit", DecimalDigitFilterFactory::new);
236-
filters.put("delimited_payload_filter", LegacyDelimitedPayloadTokenFilterFactory::new);
237235
filters.put("delimited_payload", DelimitedPayloadTokenFilterFactory::new);
238236
filters.put("dictionary_decompounder", requiresAnalysisSettings(DictionaryCompoundWordTokenFilterFactory::new));
239237
filters.put("dutch_stem", DutchStemTokenFilterFactory::new);
@@ -376,14 +374,6 @@ public List<PreBuiltAnalyzerProviderFactory> getPreBuiltAnalyzerProviderFactorie
376374
public List<PreConfiguredCharFilter> getPreConfiguredCharFilters() {
377375
List<PreConfiguredCharFilter> filters = new ArrayList<>();
378376
filters.add(PreConfiguredCharFilter.singleton("html_strip", false, HTMLStripCharFilter::new));
379-
filters.add(PreConfiguredCharFilter.singletonWithVersion("htmlStrip", false, (reader, version) -> {
380-
if (version.onOrAfter(org.elasticsearch.Version.V_6_3_0)) {
381-
deprecationLogger.deprecatedAndMaybeLog("htmlStrip_deprecation",
382-
"The [htmpStrip] char filter name is deprecated and will be removed in a future version. "
383-
+ "Please change the filter name to [html_strip] instead.");
384-
}
385-
return new HTMLStripCharFilter(reader);
386-
}));
387377
return filters;
388378
}
389379

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonGramsTokenFilterFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.lucene.analysis.TokenStream;
2525
import org.apache.lucene.analysis.commongrams.CommonGramsFilter;
2626
import org.apache.lucene.analysis.commongrams.CommonGramsQueryFilter;
27-
import org.elasticsearch.Version;
2827
import org.elasticsearch.common.logging.DeprecationLogger;
2928
import org.elasticsearch.common.settings.Settings;
3029
import org.elasticsearch.env.Environment;
@@ -68,14 +67,7 @@ public TokenStream create(TokenStream tokenStream) {
6867

6968
@Override
7069
public TokenFilterFactory getSynonymFilter() {
71-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
72-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
73-
} else {
74-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
75-
+ "] will not be usable to parse synonyms after v7.0");
76-
}
77-
78-
return this;
70+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
7971
}
8072
}
8173

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/EdgeNGramTokenFilterFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.apache.lucene.analysis.TokenStream;
2424
import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
2525
import org.apache.lucene.analysis.reverse.ReverseStringFilter;
26-
import org.elasticsearch.Version;
2726
import org.elasticsearch.common.logging.DeprecationLogger;
2827
import org.elasticsearch.common.settings.Settings;
2928
import org.elasticsearch.env.Environment;
@@ -87,13 +86,6 @@ public boolean breaksFastVectorHighlighter() {
8786

8887
@Override
8988
public TokenFilterFactory getSynonymFilter() {
90-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
91-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
92-
}
93-
else {
94-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
95-
+ "] will not be usable to parse synonyms after v7.0");
96-
return this;
97-
}
89+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
9890
}
9991
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/FingerprintTokenFilterFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.apache.logging.log4j.LogManager;
2323
import org.apache.lucene.analysis.TokenStream;
2424
import org.apache.lucene.analysis.miscellaneous.FingerprintFilter;
25-
import org.elasticsearch.Version;
2625
import org.elasticsearch.common.logging.DeprecationLogger;
2726
import org.elasticsearch.common.settings.Settings;
2827
import org.elasticsearch.env.Environment;
@@ -56,14 +55,7 @@ public TokenStream create(TokenStream tokenStream) {
5655

5756
@Override
5857
public TokenFilterFactory getSynonymFilter() {
59-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
60-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
61-
}
62-
else {
63-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
64-
+ "] will not be usable to parse synonyms after v7.0");
65-
return this;
66-
}
58+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
6759
}
6860

6961
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/LegacyDelimitedPayloadTokenFilterFactory.java

-44
This file was deleted.

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MultiplexerTokenFilterFactory.java

+2-25
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.apache.lucene.analysis.miscellaneous.ConditionalTokenFilter;
2626
import org.apache.lucene.analysis.miscellaneous.RemoveDuplicatesTokenFilter;
2727
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
28-
import org.elasticsearch.Version;
2928
import org.elasticsearch.common.Strings;
3029
import org.elasticsearch.common.logging.DeprecationLogger;
3130
import org.elasticsearch.common.settings.Settings;
@@ -62,18 +61,7 @@ public TokenStream create(TokenStream tokenStream) {
6261

6362
@Override
6463
public TokenFilterFactory getSynonymFilter() {
65-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
66-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
67-
}
68-
else {
69-
if (preserveOriginal) {
70-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
71-
+ "] will not be usable to parse synonyms after v7.0");
72-
return IDENTITY_FILTER;
73-
}
74-
throw new IllegalArgumentException("Token filter [" + name()
75-
+ "] cannot be used to parse synonyms unless [preserve_original] is [true]");
76-
}
64+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
7765
}
7866

7967
@Override
@@ -120,18 +108,7 @@ public TokenStream create(TokenStream tokenStream) {
120108

121109
@Override
122110
public TokenFilterFactory getSynonymFilter() {
123-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
124-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
125-
}
126-
else {
127-
if (preserveOriginal) {
128-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
129-
+ "] will not be usable to parse synonyms after v7.0");
130-
return IDENTITY_FILTER;
131-
}
132-
throw new IllegalArgumentException("Token filter [" + name()
133-
+ "] cannot be used to parse synonyms unless [preserve_original] is [true]");
134-
}
111+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
135112
}
136113
};
137114
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/NGramTokenFilterFactory.java

+5-18
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.elasticsearch.env.Environment;
2828
import org.elasticsearch.index.IndexSettings;
2929
import org.elasticsearch.index.analysis.AbstractTokenFilterFactory;
30-
import org.elasticsearch.Version;
3130
import org.elasticsearch.index.analysis.TokenFilterFactory;
3231

3332

@@ -47,15 +46,10 @@ public class NGramTokenFilterFactory extends AbstractTokenFilterFactory {
4746
this.maxGram = settings.getAsInt("max_gram", 2);
4847
int ngramDiff = maxGram - minGram;
4948
if (ngramDiff > maxAllowedNgramDiff) {
50-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
51-
throw new IllegalArgumentException(
52-
"The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: ["
53-
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
54-
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
55-
} else {
56-
deprecationLogger.deprecated("Deprecated big difference between max_gram and min_gram in NGram Tokenizer,"
57-
+ "expected difference must be less than or equal to: [" + maxAllowedNgramDiff + "]");
58-
}
49+
throw new IllegalArgumentException(
50+
"The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: ["
51+
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
52+
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
5953
}
6054
}
6155

@@ -67,13 +61,6 @@ public TokenStream create(TokenStream tokenStream) {
6761

6862
@Override
6963
public TokenFilterFactory getSynonymFilter() {
70-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
71-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
72-
}
73-
else {
74-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
75-
+ "] will not be usable to parse synonyms after v7.0");
76-
return this;
77-
}
64+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
7865
}
7966
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/NGramTokenizerFactory.java

+4-10
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.apache.lucene.analysis.Tokenizer;
2323
import org.apache.lucene.analysis.ngram.NGramTokenizer;
24-
import org.elasticsearch.Version;
2524
import org.elasticsearch.common.settings.Settings;
2625
import org.elasticsearch.env.Environment;
2726
import org.elasticsearch.index.IndexSettings;
@@ -91,15 +90,10 @@ static CharMatcher parseTokenChars(List<String> characterClasses) {
9190
this.maxGram = settings.getAsInt("max_gram", NGramTokenizer.DEFAULT_MAX_NGRAM_SIZE);
9291
int ngramDiff = maxGram - minGram;
9392
if (ngramDiff > maxAllowedNgramDiff) {
94-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
95-
throw new IllegalArgumentException(
96-
"The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: ["
97-
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
98-
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
99-
} else {
100-
deprecationLogger.deprecated("Deprecated big difference between max_gram and min_gram in NGram Tokenizer,"
101-
+ "expected difference must be less than or equal to: [" + maxAllowedNgramDiff + "]");
102-
}
93+
throw new IllegalArgumentException(
94+
"The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: ["
95+
+ maxAllowedNgramDiff + "] but was [" + ngramDiff + "]. This limit can be set by changing the ["
96+
+ IndexSettings.MAX_NGRAM_DIFF_SETTING.getKey() + "] index level setting.");
10397
}
10498
this.matcher = parseTokenChars(settings.getAsList("token_chars"));
10599
}

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/StandardHtmlStripAnalyzerProvider.java

-63
This file was deleted.

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterGraphTokenFilterFactory.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.apache.lucene.analysis.TokenStream;
2525
import org.apache.lucene.analysis.miscellaneous.WordDelimiterGraphFilter;
2626
import org.apache.lucene.analysis.miscellaneous.WordDelimiterIterator;
27-
import org.elasticsearch.Version;
2827
import org.elasticsearch.common.logging.DeprecationLogger;
2928
import org.elasticsearch.common.settings.Settings;
3029
import org.elasticsearch.env.Environment;
@@ -106,14 +105,7 @@ public TokenStream create(TokenStream tokenStream) {
106105

107106
@Override
108107
public TokenFilterFactory getSynonymFilter() {
109-
if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_0_0)) {
110-
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
111-
}
112-
else {
113-
DEPRECATION_LOGGER.deprecatedAndMaybeLog("synonym_tokenfilters", "Token filter [" + name()
114-
+ "] will not be usable to parse synonyms after v7.0");
115-
return this;
116-
}
108+
throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
117109
}
118110

119111
private int getFlag(int flag, Settings settings, String key, boolean defaultValue) {

0 commit comments

Comments
 (0)