Elasticsearch Mapping - elasticsearch - elasticsearch tutorial - elastic search
Elasticsearch Mapping
- Mapping is the outline of the documents stored in an index. It defines the data type like geo_point or string and format of the fields present in the documents and rules to control the mapping of dynamically added fields
- In order to be able to treat date fields as dates, numeric fields as numbers, and string fields as full-text or exact-value strings, Elasticsearch needs to know what type of data each field contains. This information is contained in the mapping.
- As explained in Data In, Data Out, each document in an index has a type. Every type has its own mapping, or schema definition.
- A mapping defines the fields within a type, the datatype for each field, and how the field should be handled by Elasticsearch. A mapping is also used to configure metadata associated with the type.
- We discuss mappings in detail in Types and Mappings. In this section, we’re going to look at just enough to get you started.
For example:
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Request Body
Response
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Field Data Types
- Elasticsearch supports a number of different datatypes for the fields in a document. The following data types are used to store fields in Elasticsearch .
Core Data Types
- These are the basic data types supported by almost all the systems like integer, long, double, short, byte, double, float, string, date, Boolean and binary.
Complex Data Types
- These data types are a combination of core data types. Like array, JSON object and nested data type. Following is the example of nested data type −
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Request Body
Response
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Geo Data Types
- These data types are used for defining geographic properties. For instance, geo_point is used for defining longitude and latitude, and geo_shape for defining different geometric shapes like rectangle.
Specialized Data Types
- These data types are used for special purposes like IPv4 (“ip”) accepts IP address, completion data type is used to support auto-complete suggestions and token_count for counting the number of tokens in a string.
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Mapping Types
- Each index has one or more mapping types, which are used to divide the documents of an index into logical groups.
- Mapping can be different from each other on the basis of the following parameters .
Meta-Fields
- These fields provide information about the mappings and the other objects associated with it. Like _index, _type, _id, and _source fields.
Fields
- Different mapping contains different number of fields and fields with different data types.
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Dynamic Mapping
- Elasticsearch provides a user-friendly mechanism for the automatic creation of mapping.
- A user can post the data directly to any undefined mapping and Elasticsearch will automatically create the mapping, which is called dynamic mapping. For example,
elasticsearch - elasticsearch tutorial - elastic search - elasticsearch sort - elasticsearch list indexes - elasticsearch node
Request Body
Response
Mapping Parameters
- The mapping parameters define the structure of mapping, information about fields and about storage and how the mapped data will be analyzed at the time of searching.
- These are the following mapping parameters −
- analyzer
- boost
- coerce
- copy_to
- doc_values
- dynamic
- enabled
- fielddata
- geohash
- geohash_precision
- geohash_prefix
- format
- ignore_above
- ignore_malformed
- include_in_all
- index_options
- lat_lon
- index
- fields
- norms
- null_value
- position_increment_gap
- properties
- search_analyzer
- similarity
- store
- term_vector