#95641 upgraded Jackson to version 2.15.0.  One of the fixes in this is https://github.com/FasterXML/jackson-core/issues/863.  This new limit of 5000000 characters for a string field then applies to strings in Elasticsearch documents.

To reproduce:

1. `./gradlew run`
2. Download [`big_a.zip`](https://github.com/elastic/elasticsearch/files/11453951/big_a.zip)
3. `unzip big_a.zip`
4. `curl -u elastic:password http://localhost:9200/my-index/_doc/1 -X PUT -d @big_a.json -H 'Content-Type: application/json'`

The response is:

```
{"error":{"root_cause":[{"type":"document_parsing_exception","reason":"[1:20] failed to parse: String length (5043368) exceeds the maximum length (5000000)"}],"type":"document_parsing_exception","reason":"[1:20] failed to parse: String length (5043368) exceeds the maximum length (5000000)","caused_by":{"type":"stream_constraints_exception","reason":"String length (5043368) exceeds the maximum length (5000000)"}},"status":400}
```

I think this is a blocker for release of 8.8.0 because people will have indexed docs in older versions that have strings longer than 5000000 characters, and they won't be able to work with them in 8.8.0 unless we do something about this problem.
libs/x-content/impl/src/main/java/org/elasticsearch/xcontent/provider/json/JsonXContentImpl.java
@Override
    public boolean detectContent(byte[] bytes, int offset, int length) {
        return bytes[offset] == '{';
    }
    @Override
    public boolean detectContent(CharSequence chars) {
        return chars.charAt(0) == '{';
    }
    @Override
    public XContentGenerator createGenerator(OutputStream os, Set<String> includes, Set<String> excludes) throws IOException {
        return new JsonXContentGenerator(jsonFactory.createGenerator(os, JsonEncoding.UTF8), os, includes, excludes);
    }
    @Override
    public XContentParser createParser(XContentParserConfiguration config, String content) throws IOException {
        return new JsonXContentParser(config, jsonFactory.createParser(content));
    }
    @Override
    public XContentParser createParser(XContentParserConfiguration config, InputStream is) throws IOException {
        return new JsonXContentParser(config, jsonFactory.createParser(is));
    }
    @Override
    public XContentParser createParser(XContentParserConfiguration config, byte[] data, int offset, int length) throws IOException {
        return new JsonXContentParser(config, jsonFactory.createParser(data, offset, length));
    }
    @Override
    public XContentParser createParser(XContentParserConfiguration config, Reader reader) throws IOException {
        return new JsonXContentParser(config, jsonFactory.createParser(reader));
    }
}