From eb782492be990afa9ecae2f6095361f0e82dcf34 Mon Sep 17 00:00:00 2001 From: Adrien Grand Date: Fri, 25 Aug 2017 15:15:02 +0200 Subject: [PATCH 1/2] Remove support for lenient booleans. Closes #22298 --- .../common/settings/Settings.java | 30 --------- .../index/MergePolicyConfig.java | 4 +- .../index/analysis/Analysis.java | 20 ++---- .../analysis/ArabicAnalyzerProvider.java | 2 +- .../analysis/ArmenianAnalyzerProvider.java | 2 +- .../analysis/BasqueAnalyzerProvider.java | 2 +- .../analysis/BrazilianAnalyzerProvider.java | 2 +- .../analysis/BulgarianAnalyzerProvider.java | 2 +- .../analysis/CatalanAnalyzerProvider.java | 2 +- .../index/analysis/CjkAnalyzerProvider.java | 3 +- .../index/analysis/CzechAnalyzerProvider.java | 2 +- .../analysis/DanishAnalyzerProvider.java | 2 +- .../index/analysis/DutchAnalyzerProvider.java | 2 +- .../analysis/EnglishAnalyzerProvider.java | 2 +- .../analysis/FingerprintAnalyzerProvider.java | 2 +- .../analysis/FinnishAnalyzerProvider.java | 2 +- .../analysis/FrenchAnalyzerProvider.java | 2 +- .../analysis/GalicianAnalyzerProvider.java | 2 +- .../analysis/GermanAnalyzerProvider.java | 2 +- .../index/analysis/GreekAnalyzerProvider.java | 2 +- .../index/analysis/HindiAnalyzerProvider.java | 2 +- .../analysis/HungarianAnalyzerProvider.java | 2 +- .../analysis/HunspellTokenFilterFactory.java | 5 +- .../analysis/IndonesianAnalyzerProvider.java | 2 +- .../index/analysis/IrishAnalyzerProvider.java | 2 +- .../analysis/ItalianAnalyzerProvider.java | 2 +- .../analysis/LatvianAnalyzerProvider.java | 2 +- .../analysis/LithuanianAnalyzerProvider.java | 2 +- .../analysis/NorwegianAnalyzerProvider.java | 2 +- .../PathHierarchyTokenizerFactory.java | 3 +- .../analysis/PatternAnalyzerProvider.java | 5 +- .../analysis/PersianAnalyzerProvider.java | 3 +- .../analysis/PortugueseAnalyzerProvider.java | 2 +- .../analysis/RomanianAnalyzerProvider.java | 2 +- .../analysis/RussianAnalyzerProvider.java | 2 +- .../analysis/ShingleTokenFilterFactory.java | 4 +- .../analysis/SnowballAnalyzerProvider.java | 2 +- .../analysis/SoraniAnalyzerProvider.java | 2 +- .../analysis/SpanishAnalyzerProvider.java | 2 +- .../analysis/StandardAnalyzerProvider.java | 2 +- .../StandardHtmlStripAnalyzerProvider.java | 2 +- .../index/analysis/StopAnalyzerProvider.java | 2 +- .../analysis/StopTokenFilterFactory.java | 6 +- .../analysis/SwedishAnalyzerProvider.java | 2 +- .../analysis/SynonymTokenFilterFactory.java | 6 +- .../index/analysis/ThaiAnalyzerProvider.java | 2 +- .../analysis/TurkishAnalyzerProvider.java | 2 +- .../similarity/BM25SimilarityProvider.java | 7 +- .../similarity/ClassicSimilarityProvider.java | 6 +- .../similarity/DFISimilarityProvider.java | 6 +- .../common/settings/SettingsTests.java | 67 ------------------- .../indices/analysis/AnalysisModuleTests.java | 2 +- .../ASCIIFoldingTokenFilterFactory.java | 4 +- ...bstractCompoundWordTokenFilterFactory.java | 5 +- .../common/CJKBigramFilterFactory.java | 3 +- .../common/CommonGramsTokenFilterFactory.java | 6 +- .../common/ElisionTokenFilterFactory.java | 2 +- .../common/KeepWordFilterFactory.java | 2 +- .../KeywordMarkerTokenFilterFactory.java | 4 +- .../common/LimitTokenCountFilterFactory.java | 3 +- ...PatternCaptureGroupTokenFilterFactory.java | 3 +- .../PatternReplaceTokenFilterFactory.java | 2 +- .../common/UniqueTokenFilterFactory.java | 3 +- .../WordDelimiterGraphTokenFilterFactory.java | 3 +- .../WordDelimiterTokenFilterFactory.java | 6 +- .../IcuCollationTokenFilterFactory.java | 7 +- .../JapaneseStopTokenFilterFactory.java | 5 +- .../analysis/KuromojiAnalyzerProvider.java | 3 +- ...uromojiIterationMarkCharFilterFactory.java | 6 +- .../KuromojiReadingFormFilterFactory.java | 3 +- .../analysis/KuromojiTokenizerFactory.java | 3 +- .../analysis/PhoneticTokenFilterFactory.java | 2 +- .../analysis/UkrainianAnalyzerProvider.java | 2 +- 73 files changed, 89 insertions(+), 237 deletions(-) diff --git a/core/src/main/java/org/elasticsearch/common/settings/Settings.java b/core/src/main/java/org/elasticsearch/common/settings/Settings.java index 14ea6e3dcfedf..2ff77cba351bc 100644 --- a/core/src/main/java/org/elasticsearch/common/settings/Settings.java +++ b/core/src/main/java/org/elasticsearch/common/settings/Settings.java @@ -339,36 +339,6 @@ public Boolean getAsBoolean(String setting, Boolean defaultValue) { return Booleans.parseBoolean(get(setting), defaultValue); } - // TODO #22298: Delete this method and update call sites to #getAsBoolean(String, Boolean). - /** - * Returns the setting value (as boolean) associated with the setting key. If it does not exist, returns the default value provided. - * If the index was created on Elasticsearch below 6.0, booleans will be parsed leniently otherwise they are parsed strictly. - * - * See {@link Booleans#isBooleanLenient(char[], int, int)} for the definition of a "lenient boolean" - * and {@link Booleans#isBoolean(char[], int, int)} for the definition of a "strict boolean". - * - * @deprecated Only used to provide automatic upgrades for pre 6.0 indices. - */ - @Deprecated - public Boolean getAsBooleanLenientForPreEs6Indices( - final Version indexVersion, - final String setting, - final Boolean defaultValue, - final DeprecationLogger deprecationLogger) { - if (indexVersion.before(Version.V_6_0_0_alpha1)) { - //Only emit a warning if the setting's value is not a proper boolean - final String value = get(setting, "false"); - if (Booleans.isBoolean(value) == false) { - @SuppressWarnings("deprecation") - boolean convertedValue = Booleans.parseBooleanLenient(get(setting), defaultValue); - deprecationLogger.deprecated("The value [{}] of setting [{}] is not coerced into boolean anymore. Please change " + - "this value to [{}].", value, setting, String.valueOf(convertedValue)); - return convertedValue; - } - } - return getAsBoolean(setting, defaultValue); - } - /** * Returns the setting value (as time) associated with the setting key. If it does not exists, * returns the default value provided. diff --git a/core/src/main/java/org/elasticsearch/index/MergePolicyConfig.java b/core/src/main/java/org/elasticsearch/index/MergePolicyConfig.java index b3a0224f9834c..0f7305789ecb5 100644 --- a/core/src/main/java/org/elasticsearch/index/MergePolicyConfig.java +++ b/core/src/main/java/org/elasticsearch/index/MergePolicyConfig.java @@ -23,7 +23,6 @@ import org.apache.lucene.index.MergePolicy; import org.apache.lucene.index.NoMergePolicy; import org.apache.lucene.index.TieredMergePolicy; -import org.elasticsearch.common.logging.DeprecationLogger; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Setting.Property; import org.elasticsearch.common.unit.ByteSizeUnit; @@ -165,8 +164,7 @@ public final class MergePolicyConfig { ByteSizeValue maxMergedSegment = indexSettings.getValue(INDEX_MERGE_POLICY_MAX_MERGED_SEGMENT_SETTING); double segmentsPerTier = indexSettings.getValue(INDEX_MERGE_POLICY_SEGMENTS_PER_TIER_SETTING); double reclaimDeletesWeight = indexSettings.getValue(INDEX_MERGE_POLICY_RECLAIM_DELETES_WEIGHT_SETTING); - this.mergesEnabled = indexSettings.getSettings() - .getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), INDEX_MERGE_ENABLED, true, new DeprecationLogger(logger)); + this.mergesEnabled = indexSettings.getSettings().getAsBoolean(INDEX_MERGE_ENABLED, true); if (mergesEnabled == false) { logger.warn("[{}] is set to false, this should only be used in tests and can cause serious problems in production environments", INDEX_MERGE_ENABLED); } diff --git a/core/src/main/java/org/elasticsearch/index/analysis/Analysis.java b/core/src/main/java/org/elasticsearch/index/analysis/Analysis.java index fadcdcbd262c4..f53b245e14c36 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/Analysis.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/Analysis.java @@ -55,9 +55,6 @@ import org.apache.lucene.analysis.tr.TurkishAnalyzer; import org.apache.lucene.util.Version; import org.elasticsearch.common.Strings; -import org.elasticsearch.common.io.FileSystemUtils; -import org.elasticsearch.common.logging.DeprecationLogger; -import org.elasticsearch.common.logging.ESLoggerFactory; import org.elasticsearch.common.lucene.Lucene; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; @@ -82,8 +79,6 @@ public class Analysis { - private static final DeprecationLogger deprecationLogger = new DeprecationLogger(ESLoggerFactory.getLogger(Analysis.class)); - public static Version parseAnalysisVersion(Settings indexSettings, Settings settings, Logger logger) { // check for explicit version on the specific analyzer component String sVersion = settings.get("version"); @@ -183,15 +178,14 @@ public static CharArraySet parseCommonWords(Environment env, Settings settings, return parseWords(env, settings, "common_words", defaultCommonWords, NAMED_STOP_WORDS, ignoreCase); } - public static CharArraySet parseArticles(Environment env, org.elasticsearch.Version indexCreatedVersion, Settings settings) { - boolean articlesCase = settings.getAsBooleanLenientForPreEs6Indices(indexCreatedVersion, "articles_case", false, deprecationLogger); + public static CharArraySet parseArticles(Environment env, Settings settings) { + boolean articlesCase = settings.getAsBoolean("articles_case", false); return parseWords(env, settings, "articles", null, null, articlesCase); } - public static CharArraySet parseStopWords(Environment env, org.elasticsearch.Version indexCreatedVersion, Settings settings, + public static CharArraySet parseStopWords(Environment env, Settings settings, CharArraySet defaultStopWords) { - boolean stopwordsCase = - settings.getAsBooleanLenientForPreEs6Indices(indexCreatedVersion, "stopwords_case", false, deprecationLogger); + boolean stopwordsCase = settings.getAsBoolean("stopwords_case", false); return parseStopWords(env, settings, defaultStopWords, stopwordsCase); } @@ -214,14 +208,12 @@ private static CharArraySet resolveNamedWords(Collection words, Map wordList = getWordList(env, settings, settingsPrefix); if (wordList == null) { return null; } - boolean ignoreCase = - settings.getAsBooleanLenientForPreEs6Indices(indexCreatedVersion, settingsPrefix + "_case", false, deprecationLogger); + boolean ignoreCase = settings.getAsBoolean(settingsPrefix + "_case", false); return new CharArraySet(wordList, ignoreCase); } diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java index 10d8f22bde7e8..8dcc6cc907569 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java @@ -32,7 +32,7 @@ public class ArabicAnalyzerProvider extends AbstractIndexAnalyzerProvider expectedDeprecationWarnings = new ArrayList<>(); - if (Booleans.isBoolean(falsy) == false) { - expectedDeprecationWarnings.add( - "The value [" + falsy + "] of setting [foo] is not coerced into boolean anymore. Please change this value to [false]."); - } - if (Booleans.isBoolean(truthy) == false) { - expectedDeprecationWarnings.add( - "The value [" + truthy + "] of setting [bar] is not coerced into boolean anymore. Please change this value to [true]."); - } - - if (expectedDeprecationWarnings.isEmpty() == false) { - assertWarnings(expectedDeprecationWarnings.toArray(new String[1])); - } - } - - @SuppressWarnings("deprecation") //#getAsBooleanLenientForPreEs6Indices is the test subject - public void testInvalidLenientBooleanForCurrentIndexVersion() { - String falsy = randomFrom("off", "no", "0"); - String truthy = randomFrom("on", "yes", "1"); - - Settings settings = Settings.builder() - .put("foo", falsy) - .put("bar", truthy).build(); - - final DeprecationLogger deprecationLogger = - new DeprecationLogger(ESLoggerFactory.getLogger("testInvalidLenientBooleanForCurrentIndexVersion")); - expectThrows(IllegalArgumentException.class, - () -> settings.getAsBooleanLenientForPreEs6Indices(Version.CURRENT, "foo", null, deprecationLogger)); - expectThrows(IllegalArgumentException.class, - () -> settings.getAsBooleanLenientForPreEs6Indices(Version.CURRENT, "bar", null, deprecationLogger)); - } - - @SuppressWarnings("deprecation") //#getAsBooleanLenientForPreEs6Indices is the test subject - public void testValidLenientBooleanForCurrentIndexVersion() { - Settings settings = Settings.builder() - .put("foo", "false") - .put("bar", "true").build(); - - final DeprecationLogger deprecationLogger = - new DeprecationLogger(ESLoggerFactory.getLogger("testValidLenientBooleanForCurrentIndexVersion")); - assertFalse(settings.getAsBooleanLenientForPreEs6Indices(Version.CURRENT, "foo", null, deprecationLogger)); - assertTrue(settings.getAsBooleanLenientForPreEs6Indices(Version.CURRENT, "bar", null, deprecationLogger)); - assertTrue(settings.getAsBooleanLenientForPreEs6Indices(Version.CURRENT, "baz", true, deprecationLogger)); - } - public void testMultLevelGetPrefix() { Settings settings = Settings.builder() .put("1.2.3", "hello world") diff --git a/core/src/test/java/org/elasticsearch/indices/analysis/AnalysisModuleTests.java b/core/src/test/java/org/elasticsearch/indices/analysis/AnalysisModuleTests.java index 2b9f7c0c1b730..698e26a20b7af 100644 --- a/core/src/test/java/org/elasticsearch/indices/analysis/AnalysisModuleTests.java +++ b/core/src/test/java/org/elasticsearch/indices/analysis/AnalysisModuleTests.java @@ -201,7 +201,7 @@ public void testWordListPath() throws Exception { settings = Settings.builder().loadFromSource("index: \n word_list_path: " + wordListFile.toAbsolutePath(), XContentType.YAML) .build(); - Set wordList = Analysis.getWordSet(env, Version.CURRENT, settings, "index.word_list"); + Set wordList = Analysis.getWordSet(env, settings, "index.word_list"); MatcherAssert.assertThat(wordList.size(), equalTo(6)); // MatcherAssert.assertThat(wordList, hasItems(words)); Files.delete(wordListFile); diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ASCIIFoldingTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ASCIIFoldingTokenFilterFactory.java index f8e0c7383a09b..4a5af46feffd2 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ASCIIFoldingTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ASCIIFoldingTokenFilterFactory.java @@ -42,9 +42,7 @@ public class ASCIIFoldingTokenFilterFactory extends AbstractTokenFilterFactory public ASCIIFoldingTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { super(indexSettings, name, settings); - preserveOriginal = settings.getAsBooleanLenientForPreEs6Indices( - indexSettings.getIndexVersionCreated(), PRESERVE_ORIGINAL.getPreferredName(), - DEFAULT_PRESERVE_ORIGINAL, deprecationLogger); + preserveOriginal = settings.getAsBoolean(PRESERVE_ORIGINAL.getPreferredName(), DEFAULT_PRESERVE_ORIGINAL); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/AbstractCompoundWordTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/AbstractCompoundWordTokenFilterFactory.java index b59cc166f09a5..92d32c571502a 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/AbstractCompoundWordTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/AbstractCompoundWordTokenFilterFactory.java @@ -44,9 +44,8 @@ protected AbstractCompoundWordTokenFilterFactory(IndexSettings indexSettings, En minWordSize = settings.getAsInt("min_word_size", CompoundWordTokenFilterBase.DEFAULT_MIN_WORD_SIZE); minSubwordSize = settings.getAsInt("min_subword_size", CompoundWordTokenFilterBase.DEFAULT_MIN_SUBWORD_SIZE); maxSubwordSize = settings.getAsInt("max_subword_size", CompoundWordTokenFilterBase.DEFAULT_MAX_SUBWORD_SIZE); - onlyLongestMatch = settings - .getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "only_longest_match", false, deprecationLogger); - wordList = Analysis.getWordSet(env, indexSettings.getIndexVersionCreated(), settings, "word_list"); + onlyLongestMatch = settings.getAsBoolean("only_longest_match", false); + wordList = Analysis.getWordSet(env, settings, "word_list"); if (wordList == null) { throw new IllegalArgumentException("word_list must be provided for [" + name + "], either as a path to a file, or directly"); } diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CJKBigramFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CJKBigramFilterFactory.java index 75323eac10774..ba815a8796bc2 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CJKBigramFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CJKBigramFilterFactory.java @@ -52,8 +52,7 @@ public final class CJKBigramFilterFactory extends AbstractTokenFilterFactory { CJKBigramFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { super(indexSettings, name, settings); - outputUnigrams = settings.getAsBooleanLenientForPreEs6Indices( - indexSettings.getIndexVersionCreated(), "output_unigrams", false, deprecationLogger); + outputUnigrams = settings.getAsBoolean("output_unigrams", false); final String[] asArray = settings.getAsArray("ignored_scripts"); Set scripts = new HashSet<>(Arrays.asList("han", "hiragana", "katakana", "hangul")); if (asArray != null) { diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonGramsTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonGramsTokenFilterFactory.java index a6e9baeab8d81..8de6dcacb735f 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonGramsTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/CommonGramsTokenFilterFactory.java @@ -39,10 +39,8 @@ public class CommonGramsTokenFilterFactory extends AbstractTokenFilterFactory { CommonGramsTokenFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); - this.ignoreCase = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), - "ignore_case", false, deprecationLogger); - this.queryMode = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), - "query_mode", false, deprecationLogger); + this.ignoreCase = settings.getAsBoolean("ignore_case", false); + this.queryMode = settings.getAsBoolean("query_mode", false); this.words = Analysis.parseCommonWords(env, settings, null, ignoreCase); if (this.words == null) { diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ElisionTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ElisionTokenFilterFactory.java index 94fc52165dd23..d3f920d9e63a2 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ElisionTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ElisionTokenFilterFactory.java @@ -35,7 +35,7 @@ public class ElisionTokenFilterFactory extends AbstractTokenFilterFactory implem ElisionTokenFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); - this.articles = Analysis.parseArticles(env, indexSettings.getIndexVersionCreated(), settings); + this.articles = Analysis.parseArticles(env, settings); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepWordFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepWordFilterFactory.java index f42797e0ff644..521e89b35e235 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepWordFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepWordFilterFactory.java @@ -71,7 +71,7 @@ public class KeepWordFilterFactory extends AbstractTokenFilterFactory { if (settings.get(ENABLE_POS_INC_KEY) != null) { throw new IllegalArgumentException(ENABLE_POS_INC_KEY + " is not supported anymore. Please fix your analysis chain"); } - this.keepWords = Analysis.getWordSet(env, indexSettings.getIndexVersionCreated(), settings, KEEP_WORDS_KEY); + this.keepWords = Analysis.getWordSet(env, settings, KEEP_WORDS_KEY); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeywordMarkerTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeywordMarkerTokenFilterFactory.java index a57e322ff0244..b32f9ad4b63c9 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeywordMarkerTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeywordMarkerTokenFilterFactory.java @@ -56,7 +56,7 @@ public class KeywordMarkerTokenFilterFactory extends AbstractTokenFilterFactory super(indexSettings, name, settings); boolean ignoreCase = - settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "ignore_case", false, deprecationLogger); + settings.getAsBoolean("ignore_case", false); String patternString = settings.get("keywords_pattern"); if (patternString != null) { // a pattern for matching keywords is specified, as opposed to a @@ -68,7 +68,7 @@ public class KeywordMarkerTokenFilterFactory extends AbstractTokenFilterFactory keywordPattern = Pattern.compile(patternString); keywordLookup = null; } else { - Set rules = Analysis.getWordSet(env, indexSettings.getIndexVersionCreated(), settings, "keywords"); + Set rules = Analysis.getWordSet(env, settings, "keywords"); if (rules == null) { throw new IllegalArgumentException( "keyword filter requires either `keywords`, `keywords_path`, " + diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/LimitTokenCountFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/LimitTokenCountFilterFactory.java index 862c2e67261db..5e6b70f90dd66 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/LimitTokenCountFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/LimitTokenCountFilterFactory.java @@ -37,8 +37,7 @@ public class LimitTokenCountFilterFactory extends AbstractTokenFilterFactory { LimitTokenCountFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); this.maxTokenCount = settings.getAsInt("max_token_count", DEFAULT_MAX_TOKEN_COUNT); - this.consumeAllTokens = settings.getAsBooleanLenientForPreEs6Indices( - indexSettings.getIndexVersionCreated(), "consume_all_tokens", DEFAULT_CONSUME_ALL_TOKENS, deprecationLogger); + this.consumeAllTokens = settings.getAsBoolean("consume_all_tokens", DEFAULT_CONSUME_ALL_TOKENS); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternCaptureGroupTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternCaptureGroupTokenFilterFactory.java index 7c58bc1491ade..bf6315dd12193 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternCaptureGroupTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternCaptureGroupTokenFilterFactory.java @@ -46,8 +46,7 @@ public class PatternCaptureGroupTokenFilterFactory extends AbstractTokenFilterFa patterns[i] = Pattern.compile(regexes[i]); } - preserveOriginal = settings.getAsBooleanLenientForPreEs6Indices( - indexSettings.getIndexVersionCreated(), PRESERVE_ORIG_KEY, true, deprecationLogger); + preserveOriginal = settings.getAsBoolean(PRESERVE_ORIG_KEY, true); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceTokenFilterFactory.java index 8af85861875d8..a503ad61cce6b 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternReplaceTokenFilterFactory.java @@ -44,7 +44,7 @@ public PatternReplaceTokenFilterFactory(IndexSettings indexSettings, Environment } this.pattern = Regex.compile(sPattern, settings.get("flags")); this.replacement = settings.get("replacement", ""); - this.all = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "all", true, deprecationLogger); + this.all = settings.getAsBoolean("all", true); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/UniqueTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/UniqueTokenFilterFactory.java index 256e3dad5c09a..120947f5fe871 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/UniqueTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/UniqueTokenFilterFactory.java @@ -31,8 +31,7 @@ public class UniqueTokenFilterFactory extends AbstractTokenFilterFactory { UniqueTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { super(indexSettings, name, settings); - this.onlyOnSamePosition = settings.getAsBooleanLenientForPreEs6Indices( - indexSettings.getIndexVersionCreated(), "only_on_same_position", false, deprecationLogger); + this.onlyOnSamePosition = settings.getAsBoolean("only_on_same_position", false); } @Override diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterGraphTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterGraphTokenFilterFactory.java index 1613339853117..6173cfdc84af4 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterGraphTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterGraphTokenFilterFactory.java @@ -85,8 +85,7 @@ public WordDelimiterGraphTokenFilterFactory(IndexSettings indexSettings, Environ // If set, causes trailing "'s" to be removed for each subword: "O'Neil's" => "O", "Neil" flags |= getFlag(STEM_ENGLISH_POSSESSIVE, settings, "stem_english_possessive", true); // If not null is the set of tokens to protect from being delimited - Set protectedWords = Analysis.getWordSet(env, indexSettings.getIndexVersionCreated(), - settings, "protected_words"); + Set protectedWords = Analysis.getWordSet(env, settings, "protected_words"); this.protoWords = protectedWords == null ? null : CharArraySet.copy(protectedWords); this.flags = flags; } diff --git a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterTokenFilterFactory.java b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterTokenFilterFactory.java index 8c38beb8f8b7b..93677d0898fa2 100644 --- a/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterTokenFilterFactory.java +++ b/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/WordDelimiterTokenFilterFactory.java @@ -90,8 +90,7 @@ public WordDelimiterTokenFilterFactory(IndexSettings indexSettings, Environment // If set, causes trailing "'s" to be removed for each subword: "O'Neil's" => "O", "Neil" flags |= getFlag(STEM_ENGLISH_POSSESSIVE, settings, "stem_english_possessive", true); // If not null is the set of tokens to protect from being delimited - Set protectedWords = Analysis.getWordSet(env, indexSettings.getIndexVersionCreated(), - settings, "protected_words"); + Set protectedWords = Analysis.getWordSet(env, settings, "protected_words"); this.protoWords = protectedWords == null ? null : CharArraySet.copy(protectedWords); this.flags = flags; } @@ -105,8 +104,7 @@ public TokenStream create(TokenStream tokenStream) { } public int getFlag(int flag, Settings settings, String key, boolean defaultValue) { - if (settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), - key, defaultValue, deprecationLogger)) { + if (settings.getAsBoolean(key, defaultValue)) { return flag; } return 0; diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuCollationTokenFilterFactory.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuCollationTokenFilterFactory.java index 7710c2e671524..091189f361a37 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuCollationTokenFilterFactory.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuCollationTokenFilterFactory.java @@ -131,7 +131,7 @@ public IcuCollationTokenFilterFactory(IndexSettings indexSettings, Environment e } } - Boolean caseLevel = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "caseLevel", null, deprecationLogger); + Boolean caseLevel = settings.getAsBoolean("caseLevel", null); if (caseLevel != null) { rbc.setCaseLevel(caseLevel); } @@ -147,7 +147,7 @@ public IcuCollationTokenFilterFactory(IndexSettings indexSettings, Environment e } } - Boolean numeric = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "numeric", null, deprecationLogger); + Boolean numeric = settings.getAsBoolean("numeric", null); if (numeric != null) { rbc.setNumericCollation(numeric); } @@ -157,8 +157,7 @@ public IcuCollationTokenFilterFactory(IndexSettings indexSettings, Environment e rbc.setVariableTop(variableTop); } - Boolean hiraganaQuaternaryMode = settings - .getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "hiraganaQuaternaryMode", null, deprecationLogger); + Boolean hiraganaQuaternaryMode = settings.getAsBoolean("hiraganaQuaternaryMode", null); if (hiraganaQuaternaryMode != null) { rbc.setHiraganaQuaternary(hiraganaQuaternaryMode); } diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/JapaneseStopTokenFilterFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/JapaneseStopTokenFilterFactory.java index 712ad0add1533..d10fe4089f2a6 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/JapaneseStopTokenFilterFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/JapaneseStopTokenFilterFactory.java @@ -45,9 +45,8 @@ public class JapaneseStopTokenFilterFactory extends AbstractTokenFilterFactory{ public JapaneseStopTokenFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name, settings); - this.ignoreCase = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "ignore_case", false, deprecationLogger); - this.removeTrailing = settings - .getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "remove_trailing", true, deprecationLogger); + this.ignoreCase = settings.getAsBoolean("ignore_case", false); + this.removeTrailing = settings.getAsBoolean("remove_trailing", true); this.stopWords = Analysis.parseWords(env, settings, "stopwords", JapaneseAnalyzer.getDefaultStopSet(), NAMED_STOP_WORDS, ignoreCase); } diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java index 3749f957a3c0e..1776977c8e2a5 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java @@ -35,8 +35,7 @@ public class KuromojiAnalyzerProvider extends AbstractIndexAnalyzerProvider stopWords = Analysis.parseStopWords( - env, indexSettings.getIndexVersionCreated(), settings, JapaneseAnalyzer.getDefaultStopSet()); + final Set stopWords = Analysis.parseStopWords(env, settings, JapaneseAnalyzer.getDefaultStopSet()); final JapaneseTokenizer.Mode mode = KuromojiTokenizerFactory.getMode(settings); final UserDictionary userDictionary = KuromojiTokenizerFactory.getUserDictionary(env, settings); analyzer = new JapaneseAnalyzer(userDictionary, mode, CharArraySet.copy(stopWords), JapaneseAnalyzer.getDefaultStopTags()); diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiIterationMarkCharFilterFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiIterationMarkCharFilterFactory.java index 5bdafbe39e46b..836dbbdfae219 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiIterationMarkCharFilterFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiIterationMarkCharFilterFactory.java @@ -33,10 +33,8 @@ public class KuromojiIterationMarkCharFilterFactory extends AbstractCharFilterFa public KuromojiIterationMarkCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) { super(indexSettings, name); - normalizeKanji = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "normalize_kanji", - JapaneseIterationMarkCharFilter.NORMALIZE_KANJI_DEFAULT, deprecationLogger); - normalizeKana = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "normalize_kana", - JapaneseIterationMarkCharFilter.NORMALIZE_KANA_DEFAULT, deprecationLogger); + normalizeKanji = settings.getAsBoolean("normalize_kanji", JapaneseIterationMarkCharFilter.NORMALIZE_KANJI_DEFAULT); + normalizeKana = settings.getAsBoolean("normalize_kana", JapaneseIterationMarkCharFilter.NORMALIZE_KANA_DEFAULT); } @Override diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiReadingFormFilterFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiReadingFormFilterFactory.java index 4b85368da930a..d0eb0cecdb93a 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiReadingFormFilterFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiReadingFormFilterFactory.java @@ -31,8 +31,7 @@ public class KuromojiReadingFormFilterFactory extends AbstractTokenFilterFactory public KuromojiReadingFormFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { super(indexSettings, name, settings); - useRomaji = - settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "use_romaji", false, deprecationLogger); + useRomaji = settings.getAsBoolean("use_romaji", false); } @Override diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java index 69da3bd2bc4d4..2f00e68a75ebc 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java @@ -48,8 +48,7 @@ public KuromojiTokenizerFactory(IndexSettings indexSettings, Environment env, St super(indexSettings, name, settings); mode = getMode(settings); userDictionary = getUserDictionary(env, settings); - discartPunctuation = settings - .getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "discard_punctuation", true, deprecationLogger); + discartPunctuation = settings.getAsBoolean("discard_punctuation", true); nBestCost = settings.getAsInt(NBEST_COST, -1); nBestExamples = settings.get(NBEST_EXAMPLES); } diff --git a/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java b/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java index 5c9a6a463d3b1..ff4ab4943e30f 100644 --- a/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java +++ b/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java @@ -60,7 +60,7 @@ public PhoneticTokenFilterFactory(IndexSettings indexSettings, Environment envir this.nametype = null; this.ruletype = null; this.maxcodelength = 0; - this.replace = settings.getAsBooleanLenientForPreEs6Indices(indexSettings.getIndexVersionCreated(), "replace", true, deprecationLogger); + this.replace = settings.getAsBoolean("replace", true); // weird, encoder is null at last step in SimplePhoneticAnalysisTests, so we set it to metaphone as default String encodername = settings.get("encoder", "metaphone"); if ("metaphone".equalsIgnoreCase(encodername)) { diff --git a/plugins/analysis-ukrainian/src/main/java/org/elasticsearch/index/analysis/UkrainianAnalyzerProvider.java b/plugins/analysis-ukrainian/src/main/java/org/elasticsearch/index/analysis/UkrainianAnalyzerProvider.java index 0a00b752b9978..8a44e9e020f7f 100644 --- a/plugins/analysis-ukrainian/src/main/java/org/elasticsearch/index/analysis/UkrainianAnalyzerProvider.java +++ b/plugins/analysis-ukrainian/src/main/java/org/elasticsearch/index/analysis/UkrainianAnalyzerProvider.java @@ -32,7 +32,7 @@ public class UkrainianAnalyzerProvider extends AbstractIndexAnalyzerProvider Date: Mon, 28 Aug 2017 09:53:22 +0200 Subject: [PATCH 2/2] Remove 5.x backcompat from synonym filters. --- .../SynonymGraphTokenFilterFactory.java | 3 +- .../analysis/SynonymTokenFilterFactory.java | 60 ++----------------- 2 files changed, 5 insertions(+), 58 deletions(-) diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SynonymGraphTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/SynonymGraphTokenFilterFactory.java index 2da3d8bc07a44..2f7964f63d632 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SynonymGraphTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SynonymGraphTokenFilterFactory.java @@ -25,7 +25,6 @@ import org.apache.lucene.analysis.synonym.SynonymGraphFilter; import org.apache.lucene.analysis.synonym.SynonymMap; import org.apache.lucene.analysis.synonym.WordnetSynonymParser; -import org.elasticsearch.common.io.FastStringReader; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; @@ -79,7 +78,7 @@ public String name() { @Override public TokenStream create(TokenStream tokenStream) { // fst is null means no synonyms - return synonymMap.fst == null ? tokenStream : new SynonymGraphFilter(tokenStream, synonymMap, ignoreCase); + return synonymMap.fst == null ? tokenStream : new SynonymGraphFilter(tokenStream, synonymMap, false); } } } diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SynonymTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/SynonymTokenFilterFactory.java index 581a45b2e4165..f61d51258b01b 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SynonymTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SynonymTokenFilterFactory.java @@ -20,19 +20,15 @@ package org.elasticsearch.index.analysis; import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.synonym.SolrSynonymParser; import org.apache.lucene.analysis.synonym.SynonymFilter; import org.apache.lucene.analysis.synonym.SynonymMap; import org.apache.lucene.analysis.synonym.WordnetSynonymParser; -import org.elasticsearch.Version; import org.elasticsearch.common.io.FastStringReader; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -import org.elasticsearch.indices.analysis.AnalysisModule; import java.io.IOException; import java.io.Reader; @@ -40,11 +36,6 @@ public class SynonymTokenFilterFactory extends AbstractTokenFilterFactory { - /** - * @deprecated this property only works with tokenizer property - */ - @Deprecated - protected final boolean ignoreCase; protected final String format; protected final boolean expand; protected final Settings settings; @@ -54,31 +45,13 @@ public SynonymTokenFilterFactory(IndexSettings indexSettings, Environment env, A super(indexSettings, name, settings); this.settings = settings; - this.ignoreCase = settings.getAsBoolean("ignore_case", false); - if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_6_0_0_beta1) && settings.get("ignore_case") != null) { + if (settings.get("ignore_case") != null) { deprecationLogger.deprecated( "This tokenize synonyms with whatever tokenizer and token filters appear before it in the chain. " + "If you need ignore case with this filter, you should set lowercase filter before this"); } this.expand = settings.getAsBoolean("expand", true); - - // for backward compatibility - if (indexSettings.getIndexVersionCreated().before(Version.V_6_0_0_beta1)) { - String tokenizerName = settings.get("tokenizer", "whitespace"); - AnalysisModule.AnalysisProvider tokenizerFactoryFactory = - analysisRegistry.getTokenizerProvider(tokenizerName, indexSettings); - if (tokenizerFactoryFactory == null) { - throw new IllegalArgumentException("failed to find tokenizer [" + tokenizerName + "] for synonym token filter"); - } - final TokenizerFactory tokenizerFactory = tokenizerFactoryFactory.get(indexSettings, env, tokenizerName, - AnalysisRegistry.getSettingsFromIndexSettings(indexSettings, - AnalysisRegistry.INDEX_ANALYSIS_TOKENIZER + "." + tokenizerName)); - this.tokenizerFactory = tokenizerFactory; - } else { - this.tokenizerFactory = null; - } - this.format = settings.get("format", ""); } @@ -108,13 +81,6 @@ Factory createPerAnalyzerSynonymFactory(Analyzer analyzerForParseSynonym, Enviro return new Factory("synonym", analyzerForParseSynonym, getRulesFromSettings(env)); } - // for backward compatibility - /** - * @deprecated This filter tokenize synonyms with whatever tokenizer and token filters appear before it in the chain in 6.0. - */ - @Deprecated - protected final TokenizerFactory tokenizerFactory; - public class Factory implements TokenFilterFactory{ private final String name; @@ -124,36 +90,18 @@ public Factory(String name, Analyzer analyzerForParseSynonym, Reader rulesReader this.name = name; - Analyzer analyzer; - if (tokenizerFactory != null) { - analyzer = new Analyzer() { - @Override - protected TokenStreamComponents createComponents(String fieldName) { - Tokenizer tokenizer = tokenizerFactory.create(); - TokenStream stream = ignoreCase ? new LowerCaseFilter(tokenizer) : tokenizer; - return new TokenStreamComponents(tokenizer, stream); - } - }; - } else { - analyzer = analyzerForParseSynonym; - } - try { SynonymMap.Builder parser; if ("wordnet".equalsIgnoreCase(format)) { - parser = new WordnetSynonymParser(true, expand, analyzer); + parser = new WordnetSynonymParser(true, expand, analyzerForParseSynonym); ((WordnetSynonymParser) parser).parse(rulesReader); } else { - parser = new SolrSynonymParser(true, expand, analyzer); + parser = new SolrSynonymParser(true, expand, analyzerForParseSynonym); ((SolrSynonymParser) parser).parse(rulesReader); } synonymMap = parser.build(); } catch (Exception e) { throw new IllegalArgumentException("failed to build synonyms", e); - } finally { - if (tokenizerFactory != null) { - analyzer.close(); - } } } @@ -165,7 +113,7 @@ public String name() { @Override public TokenStream create(TokenStream tokenStream) { // fst is null means no synonyms - return synonymMap.fst == null ? tokenStream : new SynonymFilter(tokenStream, synonymMap, ignoreCase); + return synonymMap.fst == null ? tokenStream : new SynonymFilter(tokenStream, synonymMap, false); } }