elastic/elasticsearch · error · IllegalArgumentException

keep_types requires `types` to be configured

Error message

keep_types requires `types` to be configured

What it means

Error "keep_types requires `types` to be configured" thrown in elastic/elasticsearch.

Source

Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepTypesFilterFactory.java:77

                throw new IllegalArgumentException(
                    "`keep_types` tokenfilter mode can only be ["
                        + KeepTypesMode.INCLUDE
                        + "] or ["
                        + KeepTypesMode.EXCLUDE
                        + "] but was ["
                        + modeString
                        + "]."
                );
            }
        }
    }

    KeepTypesFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) {
        super(name);

        final List<String> arrayKeepTypes = settings.getAsList(KEEP_TYPES_KEY, null);
        if ((arrayKeepTypes == null)) {
            throw new IllegalArgumentException("keep_types requires `" + KEEP_TYPES_KEY + "` to be configured");
        }
        this.includeMode = KeepTypesMode.fromString(settings.get(KEEP_TYPES_MODE_KEY, "include"));
        this.keepTypes = new HashSet<>(arrayKeepTypes);
    }

    @Override
    public TokenStream create(TokenStream tokenStream) {
        return new TypeTokenFilter(tokenStream, keepTypes, includeMode == KeepTypesMode.INCLUDE);
    }
}

View on GitHub (pinned to db6a809a66)

When it happens

Trigger: Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/KeepTypesFilterFactory.java:77 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of elastic/elasticsearch@db6a809a66 (2026-08-12). Data as JSON: /api/errors/b49b3f9d71d8fd14. Report an issue: GitHub.