### Description

Before ES 7.x it was possible to provide a list of fields by URL or BODY request for field_caps API.
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-field-caps.html
`POST _field_caps
{
   "fields" : ["rating"]
}`

Starting from 7.x this feature was removed, and only one possible way it uses URI but in this case, it is possible to have an error 414 (Request-URI Too Long).

I would like to return this feature back.
server/src/test/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesRequestTests.java
request.fields(randomFields);
        request.indices(randomIndices);
        if (randomBoolean()) {
            request.indicesOptions(randomBoolean() ? IndicesOptions.strictExpand() : IndicesOptions.lenientExpandOpen());
        }
        request.includeUnmapped(randomBoolean());
        if (randomBoolean()) {
            request.nowInMillis(randomLong());
        }
        if (randomBoolean()) {
            request.indexFilter(QueryBuilders.termQuery("field", randomAlphaOfLength(5)));
        }
        if (randomBoolean()) {
            request.runtimeFields(Collections.singletonMap(randomAlphaOfLength(5), randomAlphaOfLength(5)));
        }
        if (randomBoolean()) {
            request.filters("-nested");
        }
        if (randomBoolean()) {
            request.types(randomAlphaOfLength(5));
        }
        return request;
    }
    @Override
    protected NamedWriteableRegistry getNamedWriteableRegistry() {
        SearchModule searchModule = new SearchModule(Settings.EMPTY, Collections.emptyList());
        return new NamedWriteableRegistry(searchModule.getNamedWriteables());
    }
    @Override
    protected Writeable.Reader<FieldCapabilitiesRequest> instanceReader() {