{"record":{"id":"fac177136549848d","repo":"elastic/elasticsearch","slug":"mapping-requires-either-mappings-or-mappings-pa","errorCode":null,"errorMessage":"mapping requires either `mappings` or `mappings_path` to be configured","messagePattern":"mapping requires either `mappings` or `mappings_path` to be configured","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java","lineNumber":35,"sourceCode":"import org.elasticsearch.index.analysis.AbstractCharFilterFactory;\nimport org.elasticsearch.index.analysis.Analysis;\nimport org.elasticsearch.index.analysis.NormalizingCharFilterFactory;\n\nimport java.io.Reader;\nimport java.util.List;\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class MappingCharFilterFactory extends AbstractCharFilterFactory implements NormalizingCharFilterFactory {\n\n    private final NormalizeCharMap normMap;\n\n    MappingCharFilterFactory(IndexSettings indexSettings, Environment env, String name, Settings settings) {\n        super(name);\n\n        List<String> rules = Analysis.getWordList(env, settings, \"mappings\");\n        if (rules == null) {\n            throw new IllegalArgumentException(\"mapping requires either `mappings` or `mappings_path` to be configured\");\n        }\n\n        NormalizeCharMap.Builder normMapBuilder = new NormalizeCharMap.Builder();\n        parseRules(rules, normMapBuilder);\n        normMap = normMapBuilder.build();\n    }\n\n    @Override\n    public Reader create(Reader tokenStream) {\n        return new MappingCharFilter(normMap, tokenStream);\n    }\n\n    // source => target\n    private static Pattern rulePattern = Pattern.compile(\"(.*)\\\\s*=>\\\\s*(.*)\\\\s*$\");\n\n    /**\n     * parses a list of MappingCharFilter style rules into a normalize char map\n     */","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java#L17-L53","documentation":"Error \"mapping requires either `mappings` or `mappings_path` to be configured\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/MappingCharFilterFactory.java:35 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"}