The `ignore_malformed` option is supported by a few of our field types, mainly numerics and dates, to still accept the document when such fields hold malformed values. See https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-malformed.html. Also `ignore_malformed` is an index level setting that gets applied to all field types that support it. 

The boolean field type does not support `ignore_malformed` but it should, so that if a boolean field cannot be parsed as a boolean, the document can still be accepted.


server/src/test/java/org/elasticsearch/index/mapper/FieldAliasMapperValidationTests.java
FieldMapper invalidField = new MockFieldMapper("invalid");
        FieldAliasMapper invalidAlias = new FieldAliasMapper("invalid", "invalid", "field");
        MapperParsingException e = expectThrows(
            MapperParsingException.class,
            () -> createMappingLookup(Arrays.asList(field, invalidField), emptyList(), singletonList(invalidAlias), emptyList())
        );
        assertEquals("Alias [invalid] is defined both as an alias and a concrete field", e.getMessage());
    }
    public void testAliasThatRefersToAlias() {
        FieldMapper field = new MockFieldMapper("field");
        FieldAliasMapper alias = new FieldAliasMapper("alias", "alias", "field");
        FieldAliasMapper invalidAlias = new FieldAliasMapper("invalid-alias", "invalid-alias", "alias");
        MappingLookup mappers = createMappingLookup(singletonList(field), emptyList(), Arrays.asList(alias, invalidAlias), emptyList());
        alias.validate(mappers);
        MapperParsingException e = expectThrows(MapperParsingException.class, () -> { invalidAlias.validate(mappers); });
        assertEquals(
            "Invalid [path] value [alias] for field alias [invalid-alias]: an alias" + " cannot refer to another alias.",
            e.getMessage()
        );
    }
    public void testAliasThatRefersToItself() {
        FieldAliasMapper invalidAlias = new FieldAliasMapper("invalid-alias", "invalid-alias", "invalid-alias");
        MapperParsingException e = expectThrows(MapperParsingException.class, () -> {
            MappingLookup mappers = createMappingLookup(emptyList(), emptyList(), singletonList(invalidAlias), emptyList());
            invalidAlias.validate(mappers);
        });
        assertEquals(
            "Invalid [path] value [invalid-alias] for field alias [invalid-alias]: an alias" + " cannot refer to itself.",
            e.getMessage()
        );