### 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
.array("metrics", new String[] { "min", "max", "sum", "value_count" })
            .field("default_metric", "value_count")
            .endObject();
        mapping.endObject().endObject().endObject();
        assertAcked(client().admin().indices().prepareCreate(sourceIndex).setSettings(settings.build()).setMapping(mapping).get());
    }
    public void testRollupIndex() throws IOException {
        DownsampleConfig config = new DownsampleConfig(randomInterval());
        SourceSupplier sourceSupplier = () -> {
            String ts = randomDateForInterval(config.getInterval());
            double labelDoubleValue = DATE_FORMATTER.parseMillis(ts);
            int labelIntegerValue = randomInt();
            long labelLongValue = randomLong();
            String labelIpv4Address = NetworkAddress.format(randomIp(true));
            String labelIpv6Address = NetworkAddress.format(randomIp(false));
            Date labelDateValue = randomDate();
            int keywordArraySize = randomIntBetween(3, 10);
            String[] keywordArray = new String[keywordArraySize];
            for (int i = 0; i < keywordArraySize; ++i) {
                keywordArray[i] = randomAlphaOfLength(10);
            }
            int doubleArraySize = randomIntBetween(3, 10);
            double[] doubleArray = new double[doubleArraySize];
            for (int i = 0; i < doubleArraySize; ++i) {
                doubleArray[i] = randomDouble();
            }
            return XContentFactory.jsonBuilder()
                .startObject()
                .field(FIELD_TIMESTAMP, ts)
                .field(FIELD_DIMENSION_1, randomFrom(dimensionValues))