{"record":{"id":"17d16dcf8f2ca11f","repo":"elastic/elasticsearch","slug":"at-most-100-synonym-sets-may-be-specified-in-syno","errorCode":null,"errorMessage":"At most 100 synonym sets may be specified in [synonyms_set]","messagePattern":"At most 100 synonym sets may be specified in \\[synonyms_set\\]","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java","lineNumber":102,"sourceCode":"                    LOGGER.warn(\n                        \"Duplicate synonym set names in [{}] for filter [{}]; duplicates will be ignored: {}\",\n                        SynonymsSource.INDEX.getSettingName(),\n                        factory.name(),\n                        duplicates\n                    );\n                }\n                if (synonymsSets.isEmpty()) {\n                    return new ReaderWithOrigin(new StringReader(\"\"), \"empty synonyms_set \" + synonymsSets, synonymsSets);\n                }\n\n                // Reject multi-set configs on partially-upgraded clusters at index creation time only.\n                // Do NOT check during METADATA_VERIFICATION (recovery) or RELOAD_ANALYZERS — throwing\n                // there would prevent shards from loading.\n                if (synonymsSets.size() > 1 && context == IndexCreationContext.CREATE_INDEX) {\n                    factory.synonymsManagementAPIService.checkClusterSupportsMultipleSynonymSets();\n                }\n                if (synonymsSets.size() > MAX_SYNONYM_SETS_PER_FILTER) {\n                    throw new IllegalArgumentException(\n                        \"At most \"\n                            + MAX_SYNONYM_SETS_PER_FILTER\n                            + \" synonym sets may be specified in [\"\n                            + SynonymsSource.INDEX.getSettingName()\n                            + \"]\"\n                    );\n                }\n                // provide empty synonyms on index creation and index metadata checks to ensure that we\n                // don't block a master thread\n                if (context != IndexCreationContext.RELOAD_ANALYZERS) {\n                    return new ReaderWithOrigin(\n                        new StringReader(\"\"),\n                        \"fake empty \" + synonymsSets + \" synonyms_set in .synonyms index\",\n                        synonymsSets\n                    );\n                }\n\n                return new ReaderWithOrigin(","sourceCodeStart":84,"sourceCodeEnd":120,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java#L84-L120","documentation":"Error \"At most 100 synonym sets may be specified in [synonyms_set]\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java:102 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"db6a809a667c081ca1dc7500389d26975573215f","analyzedAt":"2026-08-12T01:39:14.192Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}