Currently if you add a field in the fields parameter with a wildcard, no fields will be added to the hits layer. The situation is even worst if the wildcard matches the field name of the geo_point or geo_shape field, in that case a ClassCastException is thrown.
x-pack/plugin/vector-tile/src/javaRestTest/java/org/elasticsearch/xpack/vectortile/VectorTileRestIT.java
Response response = client().performRequest(createRequest);
        assertThat(response.getStatusLine().getStatusCode(), Matchers.equalTo(HttpStatus.SC_OK));
        final Request mappingRequest = new Request(HttpPut.METHOD_NAME, indexName + "/_mapping");
        mappingRequest.setJsonEntity("""
            {
              "properties": {
                "location": {
                  "type": "geo_shape"
                },
                "name": {
                  "type": "keyword"
                }
              }
            }""");
        response = client().performRequest(mappingRequest);
        assertThat(response.getStatusLine().getStatusCode(), Matchers.equalTo(HttpStatus.SC_OK));
        final Request putRequest = new Request(HttpPost.METHOD_NAME, indexName + "/_doc/" + id);
        putRequest.setJsonEntity("""
            {
              "location": "%s", "name": "geometry", "value1": %s, "value2": %s
            }""".formatted(WellKnownText.toWKT(geometry), 1, 2));
        response = client().performRequest(putRequest);
        assertThat(response.getStatusLine().getStatusCode(), Matchers.equalTo(HttpStatus.SC_CREATED));
        final Request flushRequest = new Request(HttpPost.METHOD_NAME, indexName + "/_refresh");
        response = client().performRequest(flushRequest);
        assertThat(response.getStatusLine().getStatusCode(), Matchers.equalTo(HttpStatus.SC_OK));
    }
    private Polygon toPolygon(Rectangle r) {
        return new Polygon(
            new LinearRing(