Mapper - gnuhub/elasticsearch GitHub Wiki
The mapper module acts as a registry for the type mapping definitions added to an index using the Put Mapping API. It also handles the dynamic mapping support for types that have no explicit mappings pre defined. For more information about mapping definitions, check out the Mapping.
Dynamic mappings allow to automatically apply generic mapping definition to types that do not have mapping pre defined or applied to new mapping definitions (overridden).
The default mapping definition is plain mapping definition that is embedded within ElasticSearch:
{
"_default_" : {
}
}Pretty short, no? Basically, everything is defaulted, especially the dynamic nature of the root object mapping. The default mapping definition can be overridden in several manners. The simplest manner is to simply define a file called default-mapping.json and placed it under the config directory (which can be configured to exist in a different location). It can also be explicitly set using the index.mapper.default_mapping_location setting.
Dynamic creation of mappings for unmapped types can be completely disabled by setting index.mapper.dynamic to false.