Field datatypes edit On this page Core datatypes Complex datatypes Geo datatypes Specialised datatypes Multi-fields Elasticsearch Reference: Getting Started Setup Breaking changes API Conventions Document APIs Search APIs Aggregations Indices APIs cat APIs Cluster APIs Query DSL Mapping Field datatypes Array datatype Binary datatype Boolean datatype Date datatype Geo-point datatype Geo-Shape datatype IPv4 datatype Nested datatype Numeric datatypes Object datatype String datatype Token count datatype Meta-Fields Mapping parameters Dynamic Mapping Transform Analysis Modules Index Modules Testing Glossary of terms Release Notes Elasticsearch supports a number of different datatypes for the fields in a document: Core datatypes edit String datatype string Numeric datatypes long, integer, short, byte, double, float Date datatype date Boolean datatype boolean Binary datatype binary Complex datatypes edit Array datatype Array support does not require a dedicated type Object datatype object for single JSON objects Nested datatype nested for arrays of JSON objects Geo datatypes edit Geo-point datatype geo_point for lat/lon points Geo-Shape datatype geo_shape for complex shapes like polygons Specialised datatypes edit IPv4 datatype ip for IPv4 addresses Completion datatype completion to provide auto-complete suggestions Token count datatype token_count to count the number of tokens in a string mapper-murmur3 murmur3 to compute hashes of values at index-time and store them in the index Attachment datatype See the mapper-attachments plugin which supports indexing attachments like Microsoft Office formats, Open Document formats, ePub, HTML, etc. into an attachment datatype. Multi-fields edit It is often useful to index the same field in different ways for different purposes. For instance, a string field could be indexed as an analyzed field for full-text search, and as a not_analyzed field for sorting or aggregations. Alternatively, you could index a string field with the standard analyzer, the english analyzer, and the french analyzer. This is the purpose of multi-fields. Most datatypes support multi-fields via the fields parameter.
Source
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html