### Elasticsearch Version

8.7.0

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

all

### Problem Description

Downsampling of a time series index without any metric field fails with a validation error:

```
Index <index> does not contain any metric fields;
```

Metric fields are not required in a time series index, unlike dimension fields. For this reason failing downsampling is not consistent with the idea of allowing time series indices without metrics.

### Steps to Reproduce

Create a time series index with at least one dimension field, without any metric field and run a downsample operation (through ILM or through the API endpoint directly).

### Logs (if relevant)

_No response_
x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/downsample/DownsampleActionSingleNodeTests.java
Map<String, Object> dateTimeMeta = (Map<String, Object>) mappings.get(config.getTimestampField()).get("meta");
        assertEquals(config.getTimeZone(), dateTimeMeta.get("time_zone"));
        assertEquals(config.getInterval().toString(), dateTimeMeta.get(config.getIntervalType()));
        metricFields.forEach((field, metricType) -> {
            switch (metricType) {
                case COUNTER -> assertEquals("double", mappings.get(field).get("type"));
                case GAUGE -> assertEquals("aggregate_metric_double", mappings.get(field).get("type"));
                default -> fail("Unsupported field type");
            }
            assertEquals(metricType.toString(), mappings.get(field).get("time_series_metric"));
        });
    }
    private void assertRollupIndexSettings(String sourceIndex, String rollupIndex, GetIndexResponse indexSettingsResp) {
        Settings sourceSettings = indexSettingsResp.settings().get(sourceIndex);
        Settings rollupSettings = indexSettingsResp.settings().get(rollupIndex);
        
        assertEquals("success", rollupSettings.get(IndexMetadata.INDEX_DOWNSAMPLE_STATUS_KEY));
        assertNotNull(sourceSettings.get(IndexMetadata.SETTING_INDEX_UUID));
        assertNotNull(rollupSettings.get(IndexMetadata.INDEX_DOWNSAMPLE_SOURCE_UUID_KEY));
        assertEquals(
            sourceSettings.get(IndexMetadata.SETTING_INDEX_UUID),
            rollupSettings.get(IndexMetadata.INDEX_DOWNSAMPLE_SOURCE_UUID_KEY)
        );
        assertEquals(sourceIndex, rollupSettings.get(IndexMetadata.INDEX_DOWNSAMPLE_SOURCE_NAME_KEY));
        assertEquals(sourceSettings.get(IndexSettings.MODE.getKey()), rollupSettings.get(IndexSettings.MODE.getKey()));
        assertNotNull(sourceSettings.get(IndexSettings.TIME_SERIES_START_TIME.getKey()));
        assertNotNull(rollupSettings.get(IndexSettings.TIME_SERIES_START_TIME.getKey()));
        assertEquals(
            sourceSettings.get(IndexSettings.TIME_SERIES_START_TIME.getKey()),
            rollupSettings.get(IndexSettings.TIME_SERIES_START_TIME.getKey())