@@ -292,12 +292,16 @@ public String toString() {
292292 @ Override
293293 public void checkCompatibility (MappedFieldType other , List <String > conflicts , boolean strict ) {
294294 super .checkCompatibility (other , conflicts , strict );
295- PrefixFieldType otherFieldType = (PrefixFieldType ) other ;
296- if (otherFieldType .minChars != this .minChars ) {
297- conflicts .add ("mapper [" + name () + "] has different min_chars values" );
298- }
299- if (otherFieldType .maxChars != this .maxChars ) {
300- conflicts .add ("mapper [" + name () + "] has different max_chars values" );
295+ if (strict ) {
296+ PrefixFieldType otherFieldType = (PrefixFieldType ) other ;
297+ if (otherFieldType .minChars != this .minChars ) {
298+ conflicts .add ("mapper [" + name () + "] is used by multiple types. Set update_all_types to true to update "
299+ + "[index_prefixes.min_chars] across all types." );
300+ }
301+ if (otherFieldType .maxChars != this .maxChars ) {
302+ conflicts .add ("mapper [" + name () + "] is used by multiple types. Set update_all_types to true to update "
303+ + "[index_prefixes.max_chars] across all types." );
304+ }
301305 }
302306 }
303307
@@ -421,6 +425,10 @@ public void checkCompatibility(MappedFieldType other,
421425 conflicts .add ("mapper [" + name () + "] is used by multiple types. Set update_all_types to true to update "
422426 + "[fielddata_frequency_filter.min_segment_size] across all types." );
423427 }
428+ if (Objects .equals (this .prefixFieldType , ((TextFieldType ) other ).prefixFieldType ) == false ) {
429+ conflicts .add ("mapper [" + name () + "] is used by multiple types. Set update_all_types to true to update "
430+ + "[index_prefixes] across all types." );
431+ }
424432 }
425433 }
426434
0 commit comments