<commit_before>[discrete]
[[breaking_80_reindex_changes]]
==== Reindex changes

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

//tag::notable-breaking-changes[]
.Reindex from remote now re-encodes URL-encoded index names.
[%collapsible]
====
*Details* +
Reindex from remote would previously allow URL-encoded index names and not
re-encode them when generating the search request for the remote host. This
leniency has been removed such that all index names are correctly encoded when
reindex generates remote search requests.

*Impact* +
Specify unencoded index names for reindex from remote requests.
====

.Reindex-related REST API endpoints containing mapping types have been removed.
[%collapsible]
====
*Details* +
The `/{index}/{type}/_delete_by_query` and `/{index}/{type}/_update_by_query` REST endpoints have been removed in favour of `/{index}/_delete_by_query` and `/{index}/_update_by_query`, since indexes no longer contain types, these typed endpoints are obsolete.

*Impact* +
Use the replacement REST API endpoints. Requests submitted to API endpoints
that contain a mapping type will return an error.
====


.In the reindex, delete by query, and update by query APIs, the `size` parameter has been renamed.
[%collapsible]
====
*Details* +
Previously, a `_reindex` request had two different size specifications in the body:

- Outer level, determining the maximum number of documents to process
- Inside the `source` element, determining the scroll/batch size.

The outer level `size` parameter has now been renamed to `max_docs` to
avoid confusion and clarify its semantics.

Similarly, the `size` parameter has been renamed to `max_docs` for
`_delete_by_query` and `_update_by_query` to keep the 3 interfaces consistent.

*Impact* +
Use the replacement parameters. Requests containing the `size` parameter will
return an error.
====
//end::notable-breaking-changes[]<commit_msg>[DOCS] Add breaking change for unsupported `script` fields (#78217)<commit_after>[discrete]
[[breaking_80_reindex_changes]]
==== Reindex changes

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

//tag::notable-breaking-changes[]
.Reindex from remote now re-encodes URL-encoded index names.
[%collapsible]
====
*Details* +
Reindex from remote would previously allow URL-encoded index names and not
re-encode them when generating the search request for the remote host. This
leniency has been removed such that all index names are correctly encoded when
reindex generates remote search requests.

*Impact* +
Specify unencoded index names for reindex from remote requests.
====

.Reindex-related REST API endpoints containing mapping types have been removed.
[%collapsible]
====
*Details* +
The `/{index}/{type}/_delete_by_query` and `/{index}/{type}/_update_by_query` REST endpoints have been removed in favour of `/{index}/_delete_by_query` and `/{index}/_update_by_query`, since indexes no longer contain types, these typed endpoints are obsolete.

*Impact* +
Use the replacement REST API endpoints. Requests submitted to API endpoints
that contain a mapping type will return an error.
====


.In the reindex, delete by query, and update by query APIs, the `size` parameter has been renamed.
[%collapsible]
====
*Details* +
Previously, a `_reindex` request had two different size specifications in the body:

- Outer level, determining the maximum number of documents to process
- Inside the `source` element, determining the scroll/batch size.

The outer level `size` parameter has now been renamed to `max_docs` to
avoid confusion and clarify its semantics.

Similarly, the `size` parameter has been renamed to `max_docs` for
`_delete_by_query` and `_update_by_query` to keep the 3 interfaces consistent.

*Impact* +
Use the replacement parameters. Requests containing the `size` parameter will
return an error.
====

.The update by query API now rejects unsupported `script` fields.
[%collapsible]
====
*Details* +
An update by query API request that includes an unsupported field in the
`script` object now returns an error. Previously, the API would silently ignore
these unsupported fields.

*Impact* +
To avoid errors, remove unsupported fields from the `script` object.
====

//end::notable-breaking-changes[]
{'fraction_non_alphanumeric': 0.0885139819736538, 'fraction_numerical': 0.002542177027963947, 'mean_word_length': 5.182857142857143, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1786289', 'n_tokens_mistral': 1206, 'n_tokens_neox': 1139, 'n_words': 536}