@Override
    public void checkInitialization(InitializableProblemHandler problemHandler)
            throws TikaConfigException {
        mustNotBeEmpty("openSearchUrl", this.openSearchUrl);
        for (String status : includeStatus) {
            if (excludeStatus.contains(status)) {
                throw new TikaConfigException("Can't have a status in both include and exclude: " +
                        status);
            }
        }
        Set<String> statuses = new HashSet<>();
        StringBuilder sb = new StringBuilder();
        int i = 0;
        for (PipesResult.STATUS status : PipesResult.STATUS.values()) {
            statuses.add(status.name());
            i++;
            if (i > 1) {
                sb.append(", ");
            }
            sb.append(status.name());
        }
        for (String include : includeStatus) {
            if (! statuses.contains(include)) {
                throw new TikaConfigException("I regret I don't recognize '" +
                        include + "' in the include list. " +
                        "I recognize: " + sb.toString());
            }
        }
        for (String exclude : excludeStatus) {
            if (! statuses.contains(exclude)) {
                throw new TikaConfigException("I regret I don't recognize '" +
                        exclude + "' in the exclude list. " +
                        "I recognize: " + sb.toString());
            }
        }
    }
This prefixes the keys before sending them to OpenSearch.
For example, "pdfinfo_", would have this reporter sending
"pdfinfo_status" and "pdfinfo_parse_time" to OpenSearch.
@param keyPrefix
tika-pipes/tika-pipes-reporters/tika-pipes-reporter-opensearch/src/main/java/org/apache/tika/pipes/reporters/opensearch/OpenSearchPipesReporter.java