{"record":{"id":"e4fe763f9135e547","repo":"elastic/elasticsearch","slug":"analyzer-of-type-pattern-must-have-a-pattern","errorCode":null,"errorMessage":"Analyzer [{}] of type pattern must have a `pattern` set","messagePattern":"Analyzer \\[(.+?)\\] of type pattern must have a `pattern` set","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternAnalyzerProvider.java","lineNumber":36,"sourceCode":"import org.elasticsearch.index.analysis.AbstractIndexAnalyzerProvider;\nimport org.elasticsearch.index.analysis.Analysis;\n\nimport java.util.regex.Pattern;\n\npublic class PatternAnalyzerProvider extends AbstractIndexAnalyzerProvider<Analyzer> {\n\n    private final PatternAnalyzer analyzer;\n\n    PatternAnalyzerProvider(IndexSettings indexSettings, Environment env, String name, Settings settings) {\n        super(name);\n\n        final CharArraySet defaultStopwords = CharArraySet.EMPTY_SET;\n        boolean lowercase = settings.getAsBoolean(\"lowercase\", true);\n        CharArraySet stopWords = Analysis.parseStopWords(env, settings, defaultStopwords);\n\n        String sPattern = settings.get(\"pattern\", \"\\\\W+\" /*PatternAnalyzer.NON_WORD_PATTERN*/);\n        if (sPattern == null) {\n            throw new IllegalArgumentException(\"Analyzer [\" + name + \"] of type pattern must have a `pattern` set\");\n        }\n        Pattern pattern = Regex.compile(sPattern, settings.get(\"flags\"));\n\n        analyzer = new PatternAnalyzer(pattern, lowercase, stopWords);\n    }\n\n    @Override\n    public PatternAnalyzer get() {\n        return analyzer;\n    }\n}\n","sourceCodeStart":18,"sourceCodeEnd":48,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternAnalyzerProvider.java#L18-L48","documentation":"Error \"Analyzer [{}] of type pattern must have a `pattern` set\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/PatternAnalyzerProvider.java:36 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"}