NOTE: You are looking at documentation for an older release. 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,ip_range
Complex datatypes
edit- 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 -
mapper-annotated-text -
annotated-textto index text containing special markup (typically used for identifying named entities) - Percolator type
- Accepts queries from the query-dsl
-
joindatatype - Defines parent/child relation for documents within the same index
- Alias datatype
- Defines an alias to an existing field.
Arrays
editIn Elasticsearch, arrays do not require a dedicated field datatype. Any field can contain zero or more values by default, however, all values in the array must be of the same datatype. See Arrays.
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.