### 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/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java
.put(IndexMetadata.INDEX_DOWNSAMPLE_STATUS.getKey(), IndexMetadata.DownsampleTaskStatus.SUCCESS)
                        .build(),
                    rollupIndexName
                );
                return ClusterState.builder(currentState).metadata(metadataBuilder.build()).build();
            }
        }, request.masterNodeTimeout());
    }
    private void refreshIndex(String index, TaskId parentTask, ActionListener<RefreshResponse> listener) {
        RefreshRequest request = new RefreshRequest(index);
        request.setParentTask(parentTask);
        client.admin().indices().refresh(request, listener);
    }
    private void forceMergeIndex(String index, TaskId parentTask, ActionListener<ForceMergeResponse> listener) {
        ForceMergeRequest request = new ForceMergeRequest(index);
        request.maxNumSegments(1);
        request.setParentTask(parentTask);
        client.admin().indices().forceMerge(request, listener);
    }
    private void deleteRollupIndex(
        String sourceIndex,
        String rollupIndex,
        TaskId parentTask,
        ActionListener<AcknowledgedResponse> listener,
        Exception e
    ) {
        DeleteIndexRequest request = new DeleteIndexRequest(rollupIndex);
        request.setParentTask(parentTask);
        client.admin().indices().delete(request, new ActionListener<>() {
            @Override