WARNING: Version 5.6 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Field datatypes
editField datatypes
editElasticsearch supports a number of different datatypes for the fields in a document:
Core datatypes
edit- string
-
textandkeyword - Numeric datatypes
-
long,integer,short,byte,double,float,half_float,scaled_float - Date datatype
-
date - Boolean datatype
-
boolean - Binary datatype
-
binary - Range datatypes
-
integer_range,float_range,long_range,double_range,date_range
Complex datatypes
edit- Array datatype
-
Array support does not require a dedicated
type - Object datatype
-
objectfor single JSON objects - Nested datatype
-
nestedfor arrays of JSON objects
Geo datatypes
edit- Geo-point datatype
-
geo_pointfor lat/lon points - Geo-Shape datatype
-
geo_shapefor complex shapes like polygons
Specialised datatypes
edit- IP datatype
-
ipfor IPv4 and IPv6 addresses - Completion datatype
-
completionto provide auto-complete suggestions - Token count datatype
-
token_countto count the number of tokens in a string -
mapper-murmur3 -
murmur3to compute hashes of values at index-time and store them in the index - Attachment datatype
-
See the
mapper-attachmentsplugin which supports indexingattachmentslike Microsoft Office formats, Open Document formats, ePub, HTML, etc. into anattachmentdatatype. - Percolator type
- Accepts queries from the query-dsl
-
joindatatype - Defines parent/child relation for documents within the same index
Multi-fields
editIt is often useful to index the same field in different ways for different
purposes. For instance, a string field could be mapped as
a text field for full-text search, and as a keyword field for
sorting or aggregations. Alternatively, you could index a text 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.