@@ -132,7 +132,8 @@ public void testAnalyzerAlias() throws IOException {
132
132
.put ("index.analysis.analyzer.foobar_search.alias" ,"default_search" )
133
133
.put ("index.analysis.analyzer.foobar_search.type" ,"english" )
134
134
.put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
135
- .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersion (random ()))
135
+ // analyzer aliases are only allowed in 2.x indices
136
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_2_0_0 , Version .V_2_3_5 ))
136
137
.build ();
137
138
AnalysisRegistry newRegistry = getNewRegistry (settings );
138
139
AnalysisService as = getAnalysisService (newRegistry , settings );
@@ -147,7 +148,8 @@ public void testAnalyzerAliasReferencesAlias() throws IOException {
147
148
.put ("index.analysis.analyzer.foobar_search.alias" ,"default_search" )
148
149
.put ("index.analysis.analyzer.foobar_search.type" , "default" )
149
150
.put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
150
- .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersion (random ()))
151
+ // analyzer aliases are only allowed in 2.x indices
152
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_2_0_0 , Version .V_2_3_5 ))
151
153
.build ();
152
154
AnalysisRegistry newRegistry = getNewRegistry (settings );
153
155
AnalysisService as = getAnalysisService (newRegistry , settings );
@@ -161,7 +163,8 @@ public void testAnalyzerAliasDefault() throws IOException {
161
163
.put ("index.analysis.analyzer.foobar.alias" ,"default" )
162
164
.put ("index.analysis.analyzer.foobar.type" , "keyword" )
163
165
.put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
164
- .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersion (random ()))
166
+ // analyzer aliases are only allowed in 2.x indices
167
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_2_0_0 , Version .V_2_3_5 ))
165
168
.build ();
166
169
AnalysisRegistry newRegistry = getNewRegistry (settings );
167
170
AnalysisService as = getAnalysisService (newRegistry , settings );
@@ -175,13 +178,28 @@ public void testAnalyzerAliasMoreThanOnce() throws IOException {
175
178
.put ("index.analysis.analyzer.foobar.type" , "keyword" )
176
179
.put ("index.analysis.analyzer.foobar1.alias" ,"default" )
177
180
.put ("index.analysis.analyzer.foobar1.type" , "english" )
178
- .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersion (random ()))
181
+ // analyzer aliases are only allowed in 2.x indices
182
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_2_0_0 , Version .V_2_3_5 ))
179
183
.put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
180
184
.build ();
181
185
AnalysisRegistry newRegistry = getNewRegistry (settings );
182
186
IllegalStateException ise = expectThrows (IllegalStateException .class , () -> getAnalysisService (newRegistry , settings ));
183
187
assertEquals ("alias [default] is already used by [foobar]" , ise .getMessage ());
184
188
}
189
+
190
+ public void testAnalyzerAliasNotAllowedPost5x () throws IOException {
191
+ Settings settings = Settings .builder ()
192
+ .put ("index.analysis.analyzer.foobar.type" , "standard" )
193
+ .put ("index.analysis.analyzer.foobar.alias" ,"foobaz" )
194
+ // analyzer aliases were removed in v5.0.0 alpha6
195
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_5_0_0_alpha6 , null ))
196
+ .put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
197
+ .build ();
198
+ AnalysisRegistry registry = getNewRegistry (settings );
199
+ IllegalArgumentException e = expectThrows (IllegalArgumentException .class , () -> getAnalysisService (registry , settings ));
200
+ assertEquals ("setting [index.analysis.analyzer.foobar.alias] is not supported" , e .getMessage ());
201
+ }
202
+
185
203
public void testVersionedAnalyzers () throws Exception {
186
204
String yaml = "/org/elasticsearch/index/analysis/test1.yml" ;
187
205
Settings settings2 = Settings .builder ()
@@ -246,10 +264,6 @@ private void testSimpleConfiguration(Settings settings) throws IOException {
246
264
CustomAnalyzer custom5 = (CustomAnalyzer ) analyzer ;
247
265
assertThat (custom5 .charFilters ()[0 ], instanceOf (MappingCharFilterFactory .class ));
248
266
249
- // verify aliases
250
- analyzer = analysisService .analyzer ("alias1" ).analyzer ();
251
- assertThat (analyzer , instanceOf (StandardAnalyzer .class ));
252
-
253
267
// check custom pattern replace filter
254
268
analyzer = analysisService .analyzer ("custom3" ).analyzer ();
255
269
assertThat (analyzer , instanceOf (CustomAnalyzer .class ));
@@ -332,7 +346,8 @@ public void testUnderscoreInAnalyzerNameAlias() throws IOException {
332
346
.put ("index.analysis.analyzer.valid_name.tokenizer" , "keyword" )
333
347
.put ("index.analysis.analyzer.valid_name.alias" , "_invalid_name" )
334
348
.put (Environment .PATH_HOME_SETTING .getKey (), createTempDir ().toString ())
335
- .put (IndexMetaData .SETTING_VERSION_CREATED , "1" )
349
+ // analyzer aliases are only allowed for 2.x indices
350
+ .put (IndexMetaData .SETTING_VERSION_CREATED , VersionUtils .randomVersionBetween (random (), Version .V_2_0_0 , Version .V_2_3_5 ))
336
351
.build ();
337
352
try {
338
353
getAnalysisService (settings );
0 commit comments