If tsdb is enabled and the mapping contains fields of type `match_only_text` then these fields are not visible in the _source
in the search response.

Reproduction of this issue:

```

PUT _index_template/my-weather-sensor-index-template
{
    "index_patterns": [
        "metrics-weather_sensors-*"
    ],
    "data_stream": {},
    "template": {
        "settings": {
            "index.mode": "time_series",
            "index.routing_path": [
                "sensor_id",
                "location"
            ],
            "index.look_ahead_time": "3h"
        },
        "mappings": {
            "properties": {
                "sensor_id": {
                    "type": "keyword",
                    "time_series_dimension": true
                },
                "location": {
                    "type": "keyword",
                    "time_series_dimension": true
                },
                "temperature": {
                    "type": "half_float",
                    "time_series_metric": "gauge"
                },
                "humidity": {
                    "type": "half_float",
                    "time_series_metric": "gauge"
                },
                "@timestamp": {
                    "type": "date",
                    "format": "strict_date_optional_time"
                },
                "message": {
                    "type": "match_only_text"
                }
            }
        }
    },
    "priority": 500,
    "_meta": {
        "description": "Template for my weather sensor data"
    }
}

DELETE _data_stream/metrics-weather_sensors-dev

POST /metrics-weather_sensors-dev/_doc
{
    "@timestamp": "2023-07-04T11:21:15.000Z",
    "sensor_id": "HAL-000001",
    "location": "plains",
    "temperature": 26.7,
    "humidity": 49.9,
    "message": "hey"
}

POST /metrics-weather_sensors-dev/_doc
{
    "@timestamp": "2023-07-04T11:25:42.000Z",
    "sensor_id": "SYKENET-000001",
    "location": "swamp",
    "temperature": 32.4,
    "humidity": 88.9,
    "message": "you"
}

GET /metrics-weather_sensors-dev/_search
```

The search response will not contain the `message` field in the `_source` and this field should exist.
server/src/main/java/org/elasticsearch/index/mapper/MappingParser.java
}
    private Mapping parse(String type, Map<String, Object> mapping) throws MapperParsingException {
        final MappingParserContext mappingParserContext = mappingParserContextSupplier.get();
        RootObjectMapper.Builder rootObjectMapper = RootObjectMapper.parse(type, mapping, mappingParserContext);
        Map<Class<? extends MetadataFieldMapper>, MetadataFieldMapper> metadataMappers = metadataMappersSupplier.get();
        Map<String, Object> meta = null;
        boolean isSourceSynthetic = false;
        Iterator<Map.Entry<String, Object>> iterator = mapping.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, Object> entry = iterator.next();
            String fieldName = entry.getKey();
            Object fieldNode = entry.getValue();
            MetadataFieldMapper.TypeParser typeParser = metadataMapperParsers.get(fieldName);
            if (typeParser != null) {
                iterator.remove();
                if (false == fieldNode instanceof Map) {
                    throw new IllegalArgumentException("[" + fieldName + "] config must be an object");
                }
                @SuppressWarnings("unchecked")
                Map<String, Object> fieldNodeMap = (Map<String, Object>) fieldNode;
                MetadataFieldMapper metadataFieldMapper = typeParser.parse(fieldName, fieldNodeMap, mappingParserContext)
                    .build(MapperBuilderContext.forMetadata());
                metadataMappers.put(metadataFieldMapper.getClass(), metadataFieldMapper);
                assert fieldNodeMap.isEmpty();
                if (metadataFieldMapper instanceof SourceFieldMapper sfm) {
                    isSourceSynthetic = sfm.isSynthetic();
                }
            }
        }
        @SuppressWarnings("unchecked")