elastic/elasticsearch · error · IllegalArgumentException
invalid side: {}
Error message
invalid side: {} What it means
Error "invalid side: {}" thrown in elastic/elasticsearch.
Source
Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/EdgeNGramTokenFilterFactory.java:56
super(name);
this.minGram = settings.getAsInt("min_gram", 1);
this.maxGram = settings.getAsInt("max_gram", 2);
if (settings.get("side") != null) {
deprecationLogger.critical(
DeprecationCategory.ANALYSIS,
"edge_ngram_side_deprecated",
"The [side] parameter is deprecated and will be removed. Use a [reverse] before and after the [edge_ngram] instead."
);
}
this.side = parseSide(settings.get("side", "front"));
this.preserveOriginal = settings.getAsBoolean(PRESERVE_ORIG_KEY, false);
}
static int parseSide(String side) {
return switch (side) {
case "front" -> SIDE_FRONT;
case "back" -> SIDE_BACK;
default -> throw new IllegalArgumentException("invalid side: " + side);
};
}
@Override
public TokenStream create(TokenStream tokenStream) {
TokenStream result = tokenStream;
// side=BACK is not supported anymore but applying ReverseStringFilter up-front and after the token filter has the same effect
if (side == SIDE_BACK) {
result = new ReverseStringFilter(result);
}
result = new EdgeNGramTokenFilter(result, minGram, maxGram, preserveOriginal);
// side=BACK is not supported anymore but applying ReverseStringFilter up-front and after the token filter has the same effect
if (side == SIDE_BACK) {
result = new ReverseStringFilter(result);
}View on GitHub (pinned to db6a809a66)
When it happens
Trigger: Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/EdgeNGramTokenFilterFactory.java:56 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/026887d12da98c1f.
Report an issue: GitHub.