elastic/elasticsearch · error · IllegalArgumentException

Token filter [{}] cannot be used to parse synonyms

Error message

Token filter [{}] cannot be used to parse synonyms

What it means

Error "Token filter [{}] cannot be used to parse synonyms" thrown in elastic/elasticsearch.

Source

Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MultiplexerTokenFilterFactory.java:51

public class MultiplexerTokenFilterFactory extends AbstractTokenFilterFactory {

    private List<String> filterNames;
    private final boolean preserveOriginal;

    public MultiplexerTokenFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) throws IOException {
        super(name);
        this.filterNames = settings.getAsList("filters");
        this.preserveOriginal = settings.getAsBoolean("preserve_original", true);
    }

    @Override
    public TokenStream create(TokenStream tokenStream) {
        throw new UnsupportedOperationException("TokenFilterFactory.getChainAwareTokenFilterFactory() must be called first");
    }

    @Override
    public TokenFilterFactory getSynonymFilter() {
        throw new IllegalArgumentException("Token filter [" + name() + "] cannot be used to parse synonyms");
    }

    @Override
    public TokenFilterFactory getChainAwareTokenFilterFactory(
        IndexCreationContext context,
        TokenizerFactory tokenizer,
        List<CharFilterFactory> charFilters,
        List<TokenFilterFactory> previousTokenFilters,
        Function<String, TokenFilterFactory> allFilters
    ) {
        // Guard against a filter referring to itself (directly or via a cycle), which would otherwise
        // recurse until the stack overflows and takes the node down.
        allFilters = ReferringFilterResolver.enter(name(), allFilters);
        List<TokenFilterFactory> filters = new ArrayList<>();
        if (preserveOriginal) {
            filters.add(IDENTITY_FILTER);
        }
        // also merge and transfer token filter analysis modes with analyzer

View on GitHub (pinned to db6a809a66)

When it happens

Trigger: Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MultiplexerTokenFilterFactory.java:51 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/4b4dd77e0c7ce4f0. Report an issue: GitHub.