| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | [[mapping-types]]== Field datatypesElasticsearch supports a number of different datatypes for the fields in adocument:[float]=== Core datatypesstring::        <<text,`text`>> and <<keyword,`keyword`>><<number>>::    `long`, `integer`, `short`, `byte`, `double`, `float`, `half_float`, `scaled_float`<<date>>::      `date`<<boolean>>::   `boolean`<<binary>>::    `binary`<<range>>::     `integer_range`, `float_range`, `long_range`, `double_range`, `date_range`[float]=== Complex datatypes<<array>>::     Array support does not require a dedicated `type`<<object>>::    `object` for single JSON objects<<nested>>::    `nested` for arrays of JSON objects[float]=== Geo datatypes<<geo-point>>::     `geo_point` for lat/lon points<<geo-shape>>::     `geo_shape` for complex shapes like polygons[float]=== Specialised datatypes<<ip>>::            `ip` for IPv4 and IPv6 addresses<<search-suggesters-completion,Completion datatype>>::                    `completion` to provide auto-complete suggestions<<token-count>>::   `token_count` to count the number of tokens in a string{plugins}/mapper-murmur3.html[`mapper-murmur3`]:: `murmur3` to compute hashes of values at index-time and store them in the index<<percolator>>::    Accepts queries from the query-dsl<<parent-join>>::   Defines parent/child relation for documents within the same index<<feature>>::       Record numeric features to boost hits at query time.<<feature-vector>>:: Record numeric feature vectors to boost hits at query time.[float]=== Multi-fieldsIt is often useful to index the same field in different ways for differentpurposes. For instance, a `string` field could be mapped asa `text` field for full-text search, and as a `keyword` field forsorting or aggregations.  Alternatively, you could index a text field withthe <<analysis-standard-analyzer,`standard` analyzer>>, the<<english-analyzer,`english`>> analyzer, and the<<french-analyzer,`french` analyzer>>.This is the purpose of _multi-fields_.  Most datatypes support multi-fieldsvia the <<multi-fields>> parameter.include::types/array.asciidoc[]include::types/binary.asciidoc[]include::types/range.asciidoc[]include::types/boolean.asciidoc[]include::types/date.asciidoc[]include::types/geo-point.asciidoc[]include::types/geo-shape.asciidoc[]include::types/ip.asciidoc[]include::types/keyword.asciidoc[]include::types/nested.asciidoc[]include::types/numeric.asciidoc[]include::types/object.asciidoc[]include::types/text.asciidoc[]include::types/token-count.asciidoc[]include::types/percolator.asciidoc[]include::types/parent-join.asciidoc[]include::types/feature.asciidoc[]include::types/feature-vector.asciidoc[]
 |