{"record":{"id":"92ff45fc09194940","repo":"elastic/elasticsearch","slug":"can-t-apply-synonyms-set-loading-synonyms-from","errorCode":null,"errorMessage":"Can't apply [synonyms_set]! Loading synonyms from index is supported only for search time synonyms!","messagePattern":"Can't apply \\[synonyms_set\\]! Loading synonyms from index is supported only for search time synonyms!","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java","lineNumber":70,"sourceCode":"            @Override\n            public ReaderWithOrigin getRulesReader(SynonymTokenFilterFactory factory, IndexCreationContext context) {\n                List<String> rulesList = Analysis.getWordList(\n                    factory.environment,\n                    factory.settings,\n                    SynonymsSource.INLINE.getSettingName()\n                );\n                StringBuilder sb = new StringBuilder();\n                for (String line : rulesList) {\n                    sb.append(line).append(System.lineSeparator());\n                }\n                return new ReaderWithOrigin(new StringReader(sb.toString()), \"'\" + factory.name() + \"' analyzer settings\");\n            }\n        },\n        INDEX(\"synonyms_set\") {\n            @Override\n            public ReaderWithOrigin getRulesReader(SynonymTokenFilterFactory factory, IndexCreationContext context) {\n                if (factory.analysisMode != AnalysisMode.SEARCH_TIME) {\n                    throw new IllegalArgumentException(\n                        \"Can't apply [\"\n                            + SynonymsSource.INDEX.getSettingName()\n                            + \"]! Loading synonyms from index is supported only for search time synonyms!\"\n                    );\n                }\n                Set<String> synonymsSets = new LinkedHashSet<>();\n                Set<String> duplicates = new LinkedHashSet<>();\n                for (String s : factory.settings.getAsList(SynonymsSource.INDEX.getSettingName())) {\n                    if (synonymsSets.add(s) == false) {\n                        duplicates.add(s);\n                    }\n                }\n                if (duplicates.isEmpty() == false) {\n                    LOGGER.warn(\n                        \"Duplicate synonym set names in [{}] for filter [{}]; duplicates will be ignored: {}\",\n                        SynonymsSource.INDEX.getSettingName(),\n                        factory.name(),\n                        duplicates","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java#L52-L88","documentation":"Error \"Can't apply [synonyms_set]! Loading synonyms from index is supported only for search time synonyms!\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/SynonymTokenFilterFactory.java:70 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"db6a809a667c081ca1dc7500389d26975573215f","analyzedAt":"2026-08-12T01:39:14.192Z","schemaVersion":2},"datasetVersion":"2026-08-12T08:17:17.861Z"}