diff --git a/server/src/main/java/org/elasticsearch/index/mapper/FieldTypeLookup.java b/server/src/main/java/org/elasticsearch/index/mapper/FieldTypeLookup.java index ab8b5c612fe65..27d061d8c2788 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/FieldTypeLookup.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/FieldTypeLookup.java @@ -68,7 +68,7 @@ public FieldTypeLookup copyAndAddAll(String type, MappedFieldType fieldType = fieldMapper.fieldType(); MappedFieldType fullNameFieldType = fullName.get(fieldType.name()); - if (!Objects.equals(fieldType, fullNameFieldType)) { + if (Objects.equals(fieldType, fullNameFieldType) == false) { fullName = fullName.copyAndPut(fieldType.name(), fieldType); } } @@ -76,7 +76,11 @@ public FieldTypeLookup copyAndAddAll(String type, for (FieldAliasMapper fieldAliasMapper : fieldAliasMappers) { String aliasName = fieldAliasMapper.name(); String path = fieldAliasMapper.path(); - aliases = aliases.copyAndPut(aliasName, path); + + String existingPath = aliases.get(aliasName); + if (Objects.equals(path, existingPath) == false) { + aliases = aliases.copyAndPut(aliasName, path); + } } return new FieldTypeLookup(fullName, aliases);