mappings.asciidoc 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. [discrete]
  2. [[breaking_80_mappings_changes]]
  3. ==== Mapping changes
  4. //NOTE: The notable-breaking-changes tagged regions are re-used in the
  5. //Installation and Upgrade Guide
  6. //tag::notable-breaking-changes[]
  7. // end::notable-breaking-changes[]
  8. .The maximum number of completion contexts per field is now 10.
  9. [%collapsible]
  10. ====
  11. *Details* +
  12. The number of completion contexts within a single completion field
  13. has been limited to 10.
  14. *Impact* +
  15. Use a maximum of 10 completion contexts in a completion field. Specifying more
  16. than 10 completion contexts will return an error.
  17. ====
  18. .Mapping API endpoints containing mapping types have been removed.
  19. [%collapsible]
  20. ====
  21. *Details* +
  22. The typed REST endpoints of the update mapping, get mapping and get field mapping
  23. APIs have been removed in favour of their typeless REST endpoints, since indexes
  24. no longer contain types, these typed endpoints are obsolete.
  25. *Impact* +
  26. Use the typeless REST endpoints to update and retrieve mappings. Requests
  27. submitted to the typed mapping API endpoints will return an error.
  28. ====
  29. .Multi-fields within multi-fields is no longer supported.
  30. [%collapsible]
  31. ====
  32. *Details* +
  33. Previously, it was possible to define a multi-field within a multi-field.
  34. Defining chained multi-fields was deprecated in 7.3 and is now no longer
  35. supported.
  36. *Impact* +
  37. To migrate mappings, all instances of `fields` that occur within
  38. a `fields` block should be removed, either by flattening the chained `fields`
  39. blocks into a single level, or by switching to `copy_to` if appropriate.
  40. ====
  41. [[fieldnames-enabling]]
  42. .The `_field_names` metadata field's `enabled` parameter has been removed.
  43. [%collapsible]
  44. ====
  45. *Details* +
  46. The setting has been deprecated with 7.5 and is no longer supported on new indices.
  47. Mappings for older indices will continue to work but emit a deprecation warning.
  48. *Impact* +
  49. The `enabled` setting for `_field_names` should be removed from templates and mappings.
  50. Disabling _field_names is not necessary because it no longer carries a large index overhead.
  51. ====
  52. [[mapping-boosts]]
  53. .The `boost` parameter on field mappings has been removed
  54. [%collapsible]
  55. ====
  56. *Details* +
  57. Index-time boosts have been deprecated since the 5x line, but it was still possible
  58. to declare field-specific boosts in the mappings. This is now removed completely.
  59. Indexes built in 7x that contain mapping boosts will emit warnings, and the boosts
  60. will have no effect in 8.0. New indexes will not permit boosts to be set in their
  61. mappings at all.
  62. *Impact* +
  63. The `boost` setting should be removed from templates and mappings. Use boosts
  64. directly on queries instead.
  65. ====
  66. //tag::notable-breaking-changes[]
  67. .Java-time date formats replace joda-time formats
  68. [%collapsible]
  69. ====
  70. *Details* +
  71. In 7.0, {es} switched from joda time to java time for date-related parsing,
  72. formatting, and calculations. Indices created in 7.0 and later versions are
  73. already required to use mappings with java-time date formats. However,
  74. earlier indices using joda-time formats must be reindexed to use
  75. mappings with java-time formats.
  76. *Impact* +
  77. For a detailed migration guide, see the {ref}/migrate-to-java-time.html[Java
  78. time migration guide].
  79. ====
  80. // end::notable-breaking-changes[]
  81. [[geo-shape-strategy]]
  82. .The `strategy` parameter on `geo_shape` mappings now rejects unknown strategies
  83. [%collapsible]
  84. ====
  85. *Details* +
  86. The only permissible values for the `strategy` parameter on `geo_shape` mappings
  87. are `term` and `recursive`. In 7.x if a non-permissible value was used as a
  88. parameter here, the mapping would silently fall back to using `recursive`. The
  89. mapping will now be rejected instead.
  90. *Impact* +
  91. This will have no impact on existing mappings created with non-permissible
  92. strategy values, as they will already be serializing themselves as if they
  93. had been configured as `recursive`. New indexes will need to use one of the
  94. permissible strategies, or preferably not define a strategy at all and use
  95. the far more efficient BKD index.
  96. ====