_field_names too large with CircuitBreakingException

Querying the full _field_names or using _field_names in an aggregation, leads to a CircuitBreakingException. According to the _mapping API, the index holds about 10,000 different field names. Since the _field_names is autogenerated and is probably indexed, doc_values cannot be used.

As a workaround I use the mapping API on the full index, but what is the suggested workaround to get field names over aggregations?

Query:

{
  "size" : 0,
  "aggregations" : {
    "fields" : {
      "terms" : {
        "field" : "_field_names",
        "size" : 1000,
        "order" : {
          "_count" : "desc"
        },
        "include" : "c.*"
      }
    }
  }
}

Exception

{
	"took": 138,
	"timed_out": false,
	"_shards": {
		"total": 11,
		"successful": 6,
		"failed": 5,
		"failures": [{
			"shard": 0,
			"index": "bits",
			"node": "L_u3ef-pRwCV5BWBXulq_Q",
			"reason": {
				"type": "exception",
				"reason": "ElasticsearchException[CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]]; nested: UncheckedExecutionException[CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]]; nested: CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]];",
				"caused_by": {
					"type": "unchecked_execution_exception",
					"reason": "ElasticsearchException[CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]]; nested: UncheckedExecutionException[CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]]; nested: CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]];",
					"caused_by": {
						"type": "exception",
						"reason": "CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]",
						"caused_by": {
							"type": "unchecked_execution_exception",
							"reason": "CircuitBreakingException[[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]]",
							"caused_by": {
								"type": "circuit_breaking_exception",
								"reason": "[fielddata] Data too large, data for [_field_names] would be larger than limit of [623326003/594.4mb]",
								"bytes_wanted": 985496399,
								"bytes_limit": 623326003
							}
						}
					}
				}
			}
		}]
	},
	"hits": {
		"total": 63,
		"max_score": 0.0,
		"hits": []
	},
	"aggregations": {
		"fields": {
			"doc_count_error_upper_bound": 0,
			"sum_other_doc_count": 0,
			"buckets": []
		}
	}
}