types.asciidoc 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. [[mapping-types]]
  2. == Field datatypes
  3. Elasticsearch supports a number of different datatypes for the fields in a
  4. document:
  5. [float]
  6. === Core datatypes
  7. <<string>>:: `string`
  8. <<number>>:: `long`, `integer`, `short`, `byte`, `double`, `float`
  9. <<date>>:: `date`
  10. <<boolean>>:: `boolean`
  11. <<binary>>:: `binary`
  12. [float]
  13. === Complex datatypes
  14. <<array>>:: Array support does not require a dedicated `type`
  15. <<object>>:: `object` for single JSON objects
  16. <<nested>>:: `nested` for arrays of JSON objects
  17. [float]
  18. === Geo dataypes
  19. <<geo-point>>:: `geo_point` for lat/lon points
  20. <<geo-shape>>:: `geo_shape` for complex shapes like polygons
  21. [float]
  22. === Specialised datatypes
  23. <<ip>>:: `ip` for IPv4 addresses
  24. <<search-suggesters-completion,Completion datatype>>::
  25. `completion` to provide auto-complete suggestions
  26. <<token-count>>:: `token_count` to count the number of tokens in a string
  27. Attachment datatype::
  28. See the https://github.com/elastic/elasticsearch-mapper-attachments[mapper attachment plugin]
  29. which supports indexing ``attachments'' like Microsoft Office formats, Open
  30. Document formats, ePub, HTML, etc. into an `attachment` datatype.
  31. [float]
  32. === Multi-fields
  33. It is often useful to index the same field in different ways for different
  34. purposes. For instance, a `string` field could be <<mapping-index,indexed>> as
  35. an `analyzed` field for full-text search, and as a `not_analyzed` field for
  36. sorting or aggregations. Alternatively, you could index a string field with
  37. the <<analysis-standard-analyzer,`standard` analyzer>>, the
  38. <<english-analyzer,`english`>> analyzer, and the
  39. <<french-analyzer,`french` analyzer>>.
  40. This is the purpose of _multi-fields_. Most datatypes support multi-fields
  41. via the <<multi-fields>> parameter.
  42. include::types/array.asciidoc[]
  43. include::types/binary.asciidoc[]
  44. include::types/boolean.asciidoc[]
  45. include::types/date.asciidoc[]
  46. include::types/geo-point.asciidoc[]
  47. include::types/geo-shape.asciidoc[]
  48. include::types/ip.asciidoc[]
  49. include::types/nested.asciidoc[]
  50. include::types/numeric.asciidoc[]
  51. include::types/object.asciidoc[]
  52. include::types/string.asciidoc[]
  53. include::types/token-count.asciidoc[]