Mapping base types
Using explicit mapping allows you to be faster when you start inserting data using a schema-less approach, without being concerned about the field types. Therefore, in order to achieve better results and performance when indexing, it's necessary to manually define a mapping.
Fine-tuning the mapping has some advantages, as follows:
Reduces the size of the index on disk (disabling functionalities for custom fields)
Indexes only interesting fields (a general boost to performance)
Precooks data for a fast search or real-time analytics (such as aggregations)
Correctly defines whether a field must be analyzed in multiple tokens or whether it should be considered as a single token
ElasticSearch also allows you to use base fields with a wide range of configurations.
Getting ready
You need a working ElasticSearch cluster and an index named test (refer to the Creating an index recipe in Chapter 4, Basic Operations) where you can put the mappings.
How to do it...
Let's use a semi-real-world...