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/BooleanFieldMapperTests.java
};
    }
    public void testScriptAndPrecludedParameters() {
        Exception e = expectThrows(MapperParsingException.class, () -> createDocumentMapper(fieldMapping(b -> {
            b.field("type", "boolean");
            b.field("script", "test");
            b.field("null_value", true);
        })));
        assertThat(e.getMessage(), equalTo("Failed to parse mapping: Field [null_value] cannot be set in conjunction with field [script]"));
    }
    @Override
    protected boolean supportsIgnoreMalformed() {
        return false;
    }
    @Override
    protected SyntheticSourceSupport syntheticSourceSupport(boolean ignoreMalformed) {
        assertFalse("boolean doesn't support ignore_malformed", ignoreMalformed);
        return new SyntheticSourceSupport() {
            Boolean nullValue = usually() ? null : randomBoolean();
            @Override
            public SyntheticSourceExample example(int maxVals) throws IOException {
                if (randomBoolean()) {
                    Tuple<Boolean, Boolean> v = generateValue();
                    return new SyntheticSourceExample(v.v1(), v.v2(), this::mapping);
                }
                List<Tuple<Boolean, Boolean>> values = randomList(1, maxVals, this::generateValue);
                List<Boolean> in = values.stream().map(Tuple::v1).toList();
                List<Boolean> outList = values.stream().map(Tuple::v2).sorted().toList();
                Object out = outList.size() == 1 ? outList.get(0) : outList;
                return new SyntheticSourceExample(in, out, this::mapping);