Template must have match path match or match mapping type set – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-7.12

Briefly, this error occurs when defining an Elasticsearch index template without specifying the required fields: match, path_match, or match_mapping_type. These fields are necessary to determine which fields the template should apply to. To resolve this issue, you should review your template and ensure that at least one of these fields is set. For example, you can use “match”: “*” to apply the template to all fields, or specify a particular field or type with “match”: “field_name” or “match_mapping_type”: “type”.

This guide will help you check for common problems that cause the log ” template must have match; path_match or match_mapping_type set ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index, template.

Log Context

Log “template must have match; path_match or match_mapping_type set” class name is DynamicTemplate.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 throw new IllegalArgumentException("Illegal dynamic template parameter: [" + propName + "]");
 }  if (match == null && pathMatch == null && matchMappingType == null) {
 throw new MapperParsingException("template must have match; path_match or match_mapping_type set " + conf.toString());
 if (mapping == null) {
 throw new MapperParsingException("template [" + name + "] must have either mapping or runtime set");


How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?