_mapping-changes.asciidoc 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. [discrete]
  2. [[breaking_80_mapping_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. .Indices created in {es} 6.x and earlier versions are not supported.
  8. [%collapsible]
  9. ====
  10. *Details* +
  11. Elasticsearch 8.0 can read indices created in version 7.0 or above. An
  12. Elasticsearch 8.0 node will not start in the presence of indices created in a
  13. version of Elasticsearch before 7.0.
  14. *Impact* +
  15. Reindex indices created in {es} 6.x or before with {es} 7.x if they need to be carried forward to {es} 8.x.
  16. ====
  17. .Closed indices created in {es} 6.x and earlier versions are not supported.
  18. [%collapsible]
  19. ====
  20. *Details* +
  21. In earlier versions a node would start up even if it had data from indices
  22. created in a version before the previous major version, as long as those
  23. indices were closed. {es} now ensures that it is compatible with every index,
  24. open or closed, at startup time.
  25. *Impact* +
  26. Reindex closed indices created in {es} 6.x or before with {es} 7.x if they need
  27. to be carried forward to {es} 8.x.
  28. ====
  29. .The maximum number of completion contexts per field is now 10.
  30. [%collapsible]
  31. ====
  32. *Details* +
  33. The number of completion contexts within a single completion field
  34. has been limited to 10.
  35. *Impact* +
  36. Use a maximum of 10 completion contexts in a completion field. Specifying more
  37. than 10 completion contexts will return an error.
  38. ====
  39. .Multi-fields within multi-fields is no longer supported.
  40. [%collapsible]
  41. ====
  42. *Details* +
  43. Previously, it was possible to define a multi-field within a multi-field.
  44. Defining chained multi-fields was deprecated in 7.3 and is now no longer
  45. supported.
  46. *Impact* +
  47. To migrate mappings, all instances of `fields` that occur within
  48. a `fields` block should be removed, either by flattening the chained `fields`
  49. blocks into a single level, or by switching to `copy_to` if appropriate.
  50. ====
  51. [[fieldnames-enabling]]
  52. .The `_field_names` metadata field's `enabled` parameter has been removed.
  53. [%collapsible]
  54. ====
  55. *Details* +
  56. The setting has been deprecated with 7.5 and is no longer supported on new indices.
  57. Mappings for older indices will continue to work but emit a deprecation warning.
  58. *Impact* +
  59. The `enabled` setting for `_field_names` should be removed from templates and mappings.
  60. Disabling _field_names is not necessary because it no longer carries a large index overhead.
  61. ====
  62. [[mapping-boosts]]
  63. .The `boost` parameter on field mappings has been removed.
  64. [%collapsible]
  65. ====
  66. *Details* +
  67. Index-time boosts have been deprecated since the 5x line, but it was still possible
  68. to declare field-specific boosts in the mappings. This is now removed completely.
  69. Indexes built in 7x that contain mapping boosts will emit warnings, and the boosts
  70. will have no effect in 8.0. New indexes will not permit boosts to be set in their
  71. mappings at all.
  72. *Impact* +
  73. The `boost` setting should be removed from templates and mappings. Use boosts
  74. directly on queries instead.
  75. ====
  76. .Java-time date formats replace joda-time formats.
  77. [%collapsible]
  78. ====
  79. *Details* +
  80. In 7.0, {es} switched from joda time to java time for date-related parsing,
  81. formatting, and calculations. Indices created in 7.0 and later versions are
  82. already required to use mappings with java-time date formats. However,
  83. earlier indices using joda-time formats must be reindexed to use
  84. mappings with java-time formats.
  85. *Impact* +
  86. For a detailed migration guide, see the {ref}/migrate-to-java-time.html[Java
  87. time migration guide].
  88. ====
  89. [[geo-shape-strategy]]
  90. .Several `geo_shape` mapping parameters have been removed.
  91. [%collapsible]
  92. ====
  93. *Details* +
  94. The following `geo_shape` mapping parameters were deprecated in 6.6:
  95. * `tree`
  96. * `tree_levels`
  97. * `strategy`
  98. * `distance_error_pct`
  99. These parameters have been removed in 8.0.0.
  100. *Impact* +
  101. In 8.0, you can no longer create mappings that include these parameters.
  102. However, 7.x indices that use these mapping parameters will continue to work.
  103. ====
  104. .The `sparse_vector` field data type has been removed.
  105. [%collapsible]
  106. ====
  107. *Details* +
  108. The `sparse_vector` field type was deprecated in 7.6 and is now removed in
  109. 8.0. We have not seen much interest in this experimental field type, and don't
  110. see a clear use case as it's currently designed. If you have feedback or
  111. suggestions around sparse vector functionality, please let us know through
  112. GitHub or the 'discuss' forums.
  113. *Impact* +
  114. Discontinue use of the `sparse_vector` field data type. Requests containing
  115. a mapping for this field data type will return an error.
  116. ====
  117. //end::notable-breaking-changes[]