---
type: api
title: Get data stream mappings
description: Get mapping information for one or more data streams.
url: https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-data-stream-mappings
resource: https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-indices-get-data-stream-mappings
products:
  - Elasticsearch
---

# Get data stream mappings

Authentication: required

Availability: Generally available since 9.1

## Paths

- `GET` `/_data_stream/{name}/_mappings`

#### Path parameters

- `name` (union string | string[]) — required
  A comma-separated list of data streams or data stream patterns. Supports wildcards (`*`).

## Description

Get mapping information for one or more data streams.

## Required privileges

- Index privileges: `view_index_metadata`

## Query string parameters

- `master_timeout` (union oneOf · default: 30s) — optional
  The period to wait for a connection to the master node. If no response is
received before the timeout expires, the request fails and returns an
error.
  Values: `-1`, `0`

## Response

`application/json`

- `data_streams` (object[])
  - `name` (string)
    The name of the data stream.
  - `mappings` (object)
    The settings specific to this data stream
    - `all_field` (object)
      - `analyzer` (string)
      - `enabled` (boolean)
      - `omit_norms` (boolean)
      - `search_analyzer` (string)
      - `similarity` (string)
      - `store` (boolean)
      - `store_term_vector_offsets` (boolean)
      - `store_term_vector_payloads` (boolean)
      - `store_term_vector_positions` (boolean)
      - `store_term_vectors` (boolean)
    - `date_detection` (boolean)
    - `dynamic` (enum)
      Values: `strict`, `runtime`, `true`, `false`
    - `dynamic_date_formats` (string[])
    - `dynamic_templates` (string to object[])
    - `_field_names` (object)
      - `enabled` (boolean)
    - `index_field` (object)
      - `enabled` (boolean)
    - `_meta` (object)
    - `numeric_detection` (boolean)
    - `properties` (map string to oneOf)
      Map values (union oneOf)
      One of:
      - **type: binary** (`type: binary`)
        - `type` (enum)
          Values: `binary`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
      - **type: boolean** (`type: boolean`)
        - `type` (enum)
          Values: `boolean`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `fielddata` (object)
          - `format` (enum)
            Values: `array`, `disabled`
        - `index` (boolean)
        - `null_value` (boolean)
        - `ignore_malformed` (boolean)
        - `script` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `time_series_dimension` (boolean)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
      - **type: {dynamic_type}** (`type: {dynamic_type}`)
        - `type` (enum)
          Values: `{dynamic_type}`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `enabled` (boolean)
        - `null_value` (union oneOf)
          One of: `number` or `string` or `boolean`
        - `boost` (number)
        - `coerce` (boolean)
        - `script` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `ignore_malformed` (boolean)
        - `time_series_metric` (enum)
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean)
        - `analyzer` (string)
        - `eager_global_ordinals` (boolean)
        - `fielddata` (boolean)
        - `fielddata_frequency_filter` (object)
          - `max` (number)
          - `min` (number)
          - `min_segment_size` (number)
        - `index` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `index_phrases` (boolean)
        - `index_prefixes` (union oneOf) — nullable
          - **TextIndexPrefixes**
            - `max_chars` (number)
            - `min_chars` (number)
          - **string**
        - `norms` (boolean)
        - `position_increment_gap` (number)
        - `search_analyzer` (string)
        - `search_quote_analyzer` (string)
        - `similarity` (union string) — nullable
          One of: `string`
        - `term_vector` (enum)
          Values: `no`, `yes`, `with_offsets`, `with_positions`, `with_positions_offsets`, `with_positions_offsets_payloads`, `with_positions_payloads`
        - `format` (string)
        - `precision_step` (number)
        - `locale` (string)
        - `subobjects` (enum)
          Values: `true`, `false`
      - **type: join** (`type: join`)
        - `type` (enum)
          Values: `join`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `relations` (map string to RelationName | RelationName[])
        - `eager_global_ordinals` (boolean)
      - **type: keyword** (`type: keyword`)
        - `type` (enum)
          Values: `keyword`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `eager_global_ordinals` (boolean)
        - `index` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `script` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `normalizer` (string)
        - `norms` (boolean)
        - `null_value` (string)
        - `similarity` (union string) — nullable
          One of: `string`
        - `split_queries_on_whitespace` (boolean)
        - `time_series_dimension` (boolean)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
      - **type: match_only_text** (`type: match_only_text`)
        A variant of text that trades scoring and efficiency of positional queries for space efficiency. This field
effectively stores data the same way as a text field that only indexes documents (index_options: docs) and
disables norms (norms: false). Term queries perform as fast if not faster as on text fields, however queries
that need positions such as the match_phrase query perform slower as they need to look at the _source document
to verify whether a phrase matches. All queries return constant scores that are equal to 1.0.
        - `type` (enum)
          Values: `match_only_text`
        - `fields` (map string to oneOf) — recursive
          Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one
field for search and a multi-field for sorting and aggregations, or the same string value analyzed by different analyzers.
        - `meta` (map string to string)
          Metadata about the field.
        - `copy_to` (union oneOf)
          Allows you to copy the values of multiple fields into a group
field, which can then be queried as a single field.
          One of: `string[]` or `string`
      - **type: percolator** (`type: percolator`)
        - `type` (enum)
          Values: `percolator`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
      - **type: rank_feature** (`type: rank_feature`)
        - `type` (enum)
          Values: `rank_feature`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `positive_score_impact` (boolean)
      - **type: rank_features** (`type: rank_features`)
        - `type` (enum)
          Values: `rank_features`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `positive_score_impact` (boolean)
      - **type: search_as_you_type** (`type: search_as_you_type`)
        - `type` (enum)
          Values: `search_as_you_type`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `analyzer` (string)
        - `index` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `max_shingle_size` (number)
        - `norms` (boolean)
        - `search_analyzer` (string)
        - `search_quote_analyzer` (string)
        - `similarity` (union string) — nullable
          One of: `string`
        - `term_vector` (enum)
          Values: `no`, `yes`, `with_offsets`, `with_positions`, `with_positions_offsets`, `with_positions_offsets_payloads`, `with_positions_payloads`
      - **type: text** (`type: text`)
        - `type` (enum)
          Values: `text`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `analyzer` (string)
        - `boost` (number)
        - `eager_global_ordinals` (boolean)
        - `fielddata` (boolean)
        - `fielddata_frequency_filter` (object)
          - `max` (number)
          - `min` (number)
          - `min_segment_size` (number)
        - `index` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `index_phrases` (boolean)
        - `index_prefixes` (union oneOf) — nullable
          - **TextIndexPrefixes**
            - `max_chars` (number)
            - `min_chars` (number)
          - **string**
        - `norms` (boolean)
        - `position_increment_gap` (number)
        - `search_analyzer` (string)
        - `search_quote_analyzer` (string)
        - `similarity` (union string) — nullable
          One of: `string`
        - `term_vector` (enum)
          Values: `no`, `yes`, `with_offsets`, `with_positions`, `with_positions_offsets`, `with_positions_offsets_payloads`, `with_positions_payloads`
      - **type: version** (`type: version`)
        - `type` (enum)
          Values: `version`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
      - **type: wildcard** (`type: wildcard`)
        - `type` (enum)
          Values: `wildcard`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `null_value` (string)
      - **type: date_nanos** (`type: date_nanos`)
        - `type` (enum)
          Values: `date_nanos`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `format` (string)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `script` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `null_value` (union oneOf)
          One of: `string` or `number`
        - `precision_step` (number)
      - **type: date** (`type: date`)
        - `type` (enum)
          Values: `date`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `fielddata` (object)
          - `format` (enum)
            Values: `array`, `disabled`
        - `format` (string)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `script` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `null_value` (union oneOf)
          One of: `string` or `number`
        - `precision_step` (number)
        - `locale` (string)
      - **type: aggregate_metric_double** (`type: aggregate_metric_double`)
        - `type` (enum)
          Values: `aggregate_metric_double`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `default_metric` (string)
        - `ignore_malformed` (boolean)
        - `metrics` (string[])
        - `time_series_metric` (enum)
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
      - **type: dense_vector** (`type: dense_vector`)
        - `type` (enum)
          Values: `dense_vector`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `dims` (number)
          Number of vector dimensions. Can't exceed `4096`. If `dims` is not specified, it will be set to the length of
the first vector added to the field.
        - `element_type` (enum · default: float)
          The data type used to encode vectors. The supported data types are `float` (default), `byte`, and `bit`.

Supported values include:
  - `bit`: Indexes a single bit per dimension. Useful for very high-dimensional vectors or models that specifically support
bit vectors.

NOTE: when using `bit`, the number of dimensions must be a multiple of `8` and must represent the number of bits.
  - `byte`: Indexes a 1-byte integer value per dimension.
  - `float`: Indexes a 4-byte floating-point value per dimension.
  - `bfloat16`: Indexes a 2-byte floating-point value per dimension.
          Values: `bit`, `byte`, `float`, `bfloat16`
        - `index` (boolean · default: true)
          If `true`, you can search this field using the kNN search API.
        - `index_options` (object)
          An optional section that configures the kNN indexing algorithm. The HNSW algorithm has two internal parameters
that influence how the data structure is built. These can be adjusted to improve the accuracy of results, at the
expense of slower indexing speed.

This parameter can only be specified when `index` is `true`.
          - `confidence_interval` (number) — deprecated
            The confidence interval to use when quantizing the vectors. Can be any value between and including `0.90` and
`1.0` or exactly `0`. When the value is `0`, this indicates that dynamic quantiles should be calculated for
optimized quantization. When between `0.90` and `1.0`, this value restricts the values used when calculating
the quantization thresholds.

For example, a value of `0.95` will only use the middle `95%` of the values when calculating the quantization
thresholds (e.g. the highest and lowest `2.5%` of values will be ignored).

Defaults to `1/(dims + 1)` for `int8` quantized vectors and `0` for `int4` for dynamic quantile calculation.

Only applicable to `int8_hnsw`, `int4_hnsw`, `int8_flat`, and `int4_flat` index types.
          - `ef_construction` (number · default: 100)
            The number of candidates to track while assembling the list of nearest neighbors for each new node.

Only applicable to `hnsw`, `int8_hnsw`, `bbq_hnsw`, and `int4_hnsw` index types.
          - `m` (number · default: 16)
            The number of neighbors each node will be connected to in the HNSW graph.

Only applicable to `hnsw`, `int8_hnsw`, `bbq_hnsw`, and `int4_hnsw` index types.
          - `type` (enum)
            The type of kNN algorithm to use.

Supported values include:
  - `bbq_flat`: This utilizes a brute-force search algorithm in addition to automatically quantizing to binary vectors.
Only supports `element_type` of `float`.
  - `bbq_hnsw`: This utilizes the HNSW algorithm in addition to automatic binary quantization for scalable approximate kNN
search with `element_type` of `float`.

This can reduce the memory footprint by nearly 32x at the cost of some accuracy.
  - `bbq_disk`: This utilizes the DiskBBQ algorithm, a version of Inverted Vector File (IVF) that uses BBQ to quantize vectors.
Only supports `element_type` of `float`.

This not only significantly reduces memory usage, but also allows for indexing and searching of very large datasets that do not fit in memory.
Unlike HNSW, this index type loses performance gracefully as the index grows larger than memory.
  - `flat`: This utilizes a brute-force search algorithm for exact kNN search. This supports all `element_type` values.
  - `hnsw`: This utilizes the HNSW algorithm for scalable approximate kNN search. This supports all `element_type` values.
  - `int4_flat`: This utilizes a brute-force search algorithm in addition to automatically half-byte scalar quantization.
Only supports `element_type` of `float`.
  - `int4_hnsw`: This utilizes the HNSW algorithm in addition to automatically scalar quantization for scalable approximate kNN
search with `element_type` of `float`.

This can reduce the memory footprint by 8x at the cost of some accuracy.
  - `int8_flat`: This utilizes a brute-force search algorithm in addition to automatically scalar quantization. Only supports
`element_type` of `float`.
  - `int8_hnsw`: The default index type for `float` vectors. This utilizes the HNSW algorithm in addition to automatically scalar
quantization for scalable approximate kNN search with `element_type` of `float`.

This can reduce the memory footprint by 4x at the cost of some accuracy.
            Values: `bbq_flat`, `bbq_hnsw`, `bbq_disk`, `flat`, `hnsw`, `int4_flat`, `int4_hnsw`, `int8_flat`, `int8_hnsw`
          - `rescore_vector` (object)
            The rescore vector options. This is only applicable to `bbq_disk`, `bbq_hnsw`, `int4_hnsw`, `int8_hnsw`, `bbq_flat`, `int4_flat`, and `int8_flat` index types.
            - `oversample` (number)
              The oversampling factor to use when searching for the nearest neighbor. This is only applicable to the quantized formats: `bbq_*`, `int4_*`, and `int8_*`.
When provided, `oversample * k` vectors will be gathered and then their scores will be re-computed with the original vectors.

valid values are between `1.0` and `10.0` (inclusive), or `0` exactly to disable oversampling.
          - `on_disk_rescore` (boolean · default: false)
            `true` if vector rescoring should be done on-disk

Only applicable to `bbq_disk`, `bbq_hnsw`, `int4_hnsw`, `int8_hnsw`
          - `flat_index_threshold` (number · default: -1)
            The segment document count threshold below which HNSW graph construction is skipped in favor of brute-force flat
search. `-1` (default) defers to format defaults: `300` for `bbq_hnsw`, `150` for `hnsw`, `int8_hnsw`, and
`int4_hnsw`. `0` always builds the graph. A positive value overrides the format default.

Only applicable to `hnsw`, `int8_hnsw`, `int4_hnsw`, `bbq_hnsw`, and `bbq_disk` index types.
          - `cluster_size` (number · default: 384)
            Only applicable to `bbq_disk`. The number of vectors per cluster. Must be between 64 and 65536.
          - `default_visit_percentage` (number · default: 0)
            Only applicable to `bbq_disk`. The percentage of clusters to visit during search. Must be between 0 and 100.
A value of 0 defaults to using `num_candidates` for calculating the visit percentage.
          - `bits` (number · default: 1)
            Only applicable to `bbq_disk`. The number of bits per dimension for quantization encoding.
Valid values are `1`, `2`, `4`, or `7`. When no `rescore_vector` is explicitly set,
the default oversampling is automatically adjusted based on the bits value.
This setting can be changed without reindexing.
          - `precondition` (boolean · default: false)
            Only applicable to `bbq_disk`. When `true`, transforms indexed vectors using a random orthogonal
projection before quantization, which can improve accuracy when vector components are not normally
distributed. Cannot be changed after the field is created.
          - `auto_calibrate` (boolean · default: false)
            Only applicable to `bbq_disk`. When `true`, Elasticsearch automatically selects the optimal
quantization encoding, oversampling factor, and preconditioning for each merged segment based
on estimated recall characteristics. Cannot be changed after the field is created.
        - `similarity` (enum)
          The vector similarity metric to use in kNN search.

Documents are ranked by their vector field's similarity to the query vector. The `_score` of each document will
be derived from the similarity, in a way that ensures scores are positive and that a larger score corresponds
to a higher ranking.

Defaults to `l2_norm` when `element_type` is `bit` otherwise defaults to `cosine`.

`bit` vectors only support `l2_norm` as their similarity metric.

This parameter can only be specified when `index` is `true`.

Supported values include:
  - `cosine`: Computes the cosine similarity. During indexing Elasticsearch automatically normalizes vectors with `cosine`
similarity to unit length. This allows to internally use `dot_product` for computing similarity, which is more
efficient. Original un-normalized vectors can be still accessed through scripts.

The document `_score` is computed as `(1 + cosine(query, vector)) / 2`.

The `cosine` similarity does not allow vectors with zero magnitude, since cosine is not defined in this case.
  - `dot_product`: Computes the dot product of two unit vectors. This option provides an optimized way to perform cosine similarity.
The constraints and computed score are defined by `element_type`.

When `element_type` is `float`, all vectors must be unit length, including both document and query vectors.

The document `_score` is computed as `(1 + dot_product(query, vector)) / 2`.

When `element_type` is `byte`, all vectors must have the same length including both document and query vectors or
results will be inaccurate.

The document `_score` is computed as `0.5 + (dot_product(query, vector) / (32768 * dims))` where `dims` is the
number of dimensions per vector.
  - `l2_norm`: Computes similarity based on the `L2` distance (also known as Euclidean distance) between the vectors.

The document `_score` is computed as `1 / (1 + l2_norm(query, vector)^2)`.

For `bit` vectors, instead of using `l2_norm`, the `hamming` distance between the vectors is used.

The `_score` transformation is `(numBits - hamming(a, b)) / numBits`.
  - `max_inner_product`: Computes the maximum inner product of two vectors. This is similar to `dot_product`, but doesn't require vectors
to be normalized. This means that each vector’s magnitude can significantly effect the score.

The document `_score` is adjusted to prevent negative values. For `max_inner_product` values `< 0`, the `_score`
is `1 / (1 + -1 * max_inner_product(query, vector))`. For non-negative `max_inner_product` results the `_score`
is calculated `max_inner_product(query, vector) + 1`.
          Values: `cosine`, `dot_product`, `l2_norm`, `max_inner_product`
      - **type: flattened** (`type: flattened`)
        - `type` (enum)
          Values: `flattened`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `boost` (number)
        - `depth_limit` (number)
        - `doc_values` (boolean)
        - `eager_global_ordinals` (boolean)
        - `index` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `null_value` (string)
        - `preserve_leaf_arrays` (enum)
          How leaf arrays are represented in synthetic source.
When set to `lossy`, leaf arrays are sorted, de-nulled, and deduplicated in the returned synthetic source.
When set to `exact`, leaf arrays preserve order, nulls, and duplicates.
          Values: `lossy`, `exact`
        - `similarity` (string)
        - `split_queries_on_whitespace` (boolean)
        - `time_series_dimensions` (string[])
      - **type: nested** (`type: nested`)
        - `type` (enum)
          Values: `nested`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `enabled` (boolean)
        - `include_in_parent` (boolean)
        - `include_in_root` (boolean)
      - **type: object** (`type: object`)
        - `type` (enum)
          Values: `object`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `enabled` (boolean)
        - `subobjects` (enum)
          Values: `true`, `false`
      - **type: passthrough** (`type: passthrough`)
        - `type` (enum)
          Values: `passthrough`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `enabled` (boolean)
        - `priority` (number)
        - `time_series_dimension` (boolean)
      - **type: rank_vectors** (`type: rank_vectors`)
        Technical preview
        - `type` (enum)
          Values: `rank_vectors`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `element_type` (enum)
          Values: `byte`, `float`, `bit`
        - `dims` (number)
      - **type: semantic_text** (`type: semantic_text`)
        - `type` (enum)
          Values: `semantic_text`
        - `meta` (map string to string)
        - `inference_id` (string · default: .jina-embeddings-v5-text-small)
          Inference endpoint that will be used to generate embeddings for the field.
This parameter cannot be updated. Use the Create inference API to create the endpoint.
If `search_inference_id` is specified, the inference endpoint will only be used at index time.
If the `inference_id` is not specified, it will default to `.jina-embeddings-v5-text-small` if the cluster is authorized to use the Elastic Inference Service,
otherwise it will default to `.elser-2-elasticsearch`. The `.elser-2-elasticsearch` inference endpoint relies on a local ML node to run the ELSER model.
        - `search_inference_id` (string)
          Inference endpoint that will be used to generate embeddings at query time.
You can update this parameter by using the Update mapping API. Use the Create inference API to create the endpoint.
If not specified, the inference endpoint defined by inference_id will be used at both index and query time.
        - `index_options` (object)
          Settings for index_options that override any defaults used by semantic_text, for example
specific quantization settings.
          - `dense_vector` (object)
            Same fields as `index_options` in `type: dense_vector`
          - `sparse_vector` (object)
            - `prune` (boolean)
              Whether to perform pruning, omitting the non-significant tokens from the query to improve query performance.
If prune is true but the pruning_config is not specified, pruning will occur but default values will be used.
Default: false
            - `pruning_config` (object)
              Optional pruning configuration.
If enabled, this will omit non-significant tokens from the query in order to improve query performance.
This is only used if prune is set to true.
If prune is set to true but pruning_config is not specified, default values will be used.
              - `tokens_freq_ratio_threshold` (number · default: 5)
                Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.
              - `tokens_weight_threshold` (number · default: 0.4)
                Tokens whose weight is less than this threshold are considered nonsignificant and pruned.
              - `only_score_pruned_tokens` (boolean · default: false)
                Whether to only score pruned tokens, vs only scoring kept tokens.
        - `chunking_settings` (union oneOf) — nullable
          Settings for chunking text into smaller passages. If specified, these will override the
chunking settings sent in the inference endpoint associated with inference_id. If chunking settings are updated,
they will not be applied to existing documents until they are reindexed.
          - **ChunkingSettings**
            - `strategy` (string · default: sentence)
              The chunking strategy: `sentence`, `word`, `none` or `recursive`.

 * If `strategy` is set to `recursive`, you must also specify:

- `max_chunk_size`
- either `separators` or`separator_group`

Learn more about different chunking strategies in the linked documentation.
            - `max_chunk_size` (number · default: 250)
              The maximum size of a chunk in words.
This value cannot be lower than `20` (for `sentence` strategy) or `10` (for `word` strategy).
This value should not exceed the window size for the associated model.
            - `overlap` (number · default: 100)
              The number of overlapping words for chunks.
It is applicable only to a `word` chunking strategy.
This value cannot be higher than half the `max_chunk_size` value.
            - `sentence_overlap` (number · default: 1)
              The number of overlapping sentences for chunks.
It is applicable only for a `sentence` chunking strategy.
It can be either `1` or `0`.
            - `separator_group` (string)
              Only applicable to the `recursive` strategy and required when using it.

Sets a predefined list of separators in the saved chunking settings based on the selected text type.
Values can be `markdown` or `plaintext`.

Using this parameter is an alternative to manually specifying a custom `separators` list.
            - `separators` (string[])
              Only applicable to the `recursive` strategy and required when using it.

A list of strings used as possible split points when chunking text.

Each string can be a plain string or a regular expression (regex) pattern.
The system tries each separator in order to split the text, starting from the first item in the list.

After splitting, it attempts to recombine smaller pieces into larger chunks that stay within
the `max_chunk_size` limit, to reduce the total number of chunks generated.
          - **string**
        - `fields` (map string to oneOf) — recursive
          Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one
field for search and a multi-field for sorting and aggregations, or the same string value analyzed by different analyzers.
      - **type: sparse_vector** (`type: sparse_vector`)
        - `type` (enum)
          Values: `sparse_vector`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `store` (boolean)
        - `index_options` (object)
          Additional index options for the sparse vector field that controls the
token pruning behavior of the sparse vector field.
          - `prune` (boolean)
            Whether to perform pruning, omitting the non-significant tokens from the query to improve query performance.
If prune is true but the pruning_config is not specified, pruning will occur but default values will be used.
Default: false
          - `pruning_config` (object)
            Optional pruning configuration.
If enabled, this will omit non-significant tokens from the query in order to improve query performance.
This is only used if prune is set to true.
If prune is set to true but pruning_config is not specified, default values will be used.
            - `tokens_freq_ratio_threshold` (number · default: 5)
              Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.
            - `tokens_weight_threshold` (number · default: 0.4)
              Tokens whose weight is less than this threshold are considered nonsignificant and pruned.
            - `only_score_pruned_tokens` (boolean · default: false)
              Whether to only score pruned tokens, vs only scoring kept tokens.
      - **type: completion** (`type: completion`)
        - `type` (enum)
          Values: `completion`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `analyzer` (string)
        - `contexts` (object[])
          - `name` (string)
          - `path` (string)
          - `type` (string)
          - `precision` (number | string)
        - `max_input_length` (number)
        - `preserve_position_increments` (boolean)
        - `preserve_separators` (boolean)
        - `search_analyzer` (string)
      - **type: constant_keyword** (`type: constant_keyword`)
        - `type` (enum)
          Values: `constant_keyword`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `value` (object)
      - **type: counted_keyword** (`type: counted_keyword`)
        - `type` (enum)
          Values: `counted_keyword`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `index` (boolean)
      - **type: alias** (`type: alias`)
        - `type` (enum)
          Values: `alias`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `path` (string)
      - **type: histogram** (`type: histogram`)
        - `type` (enum)
          Values: `histogram`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `ignore_malformed` (boolean)
        - `time_series_metric` (enum)
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
      - **type: exponential_histogram** (`type: exponential_histogram`)
        - `type` (enum)
          Values: `exponential_histogram`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `time_series_metric` (enum)
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
      - **type: ip** (`type: ip`)
        - `type` (enum)
          Values: `ip`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `index` (boolean)
        - `ignore_malformed` (boolean)
        - `null_value` (string)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_dimension` (boolean)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
      - **type: murmur3** (`type: murmur3`)
        - `type` (enum)
          Values: `murmur3`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
      - **type: token_count** (`type: token_count`)
        - `type` (enum)
          Values: `token_count`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `analyzer` (string)
        - `boost` (number)
        - `index` (boolean)
        - `null_value` (number)
        - `enable_position_increments` (boolean)
      - **type: geo_point** (`type: geo_point`)
        - `type` (enum)
          Values: `geo_point`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `ignore_malformed` (boolean)
        - `ignore_z_value` (boolean)
        - `null_value` (union oneOf)
          - **LatLonGeoLocation**
            - `lat` (number)
              Latitude
            - `lon` (number)
              Longitude
          - **GeoHashLocation**
            - `geohash` (string)
          - **[]number**
          - **string**
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          Values: `gauge`, `counter`, `position`
      - **type: geo_shape** (`type: geo_shape`)
        The `geo_shape` data type facilitates the indexing of and searching with arbitrary geo shapes such as rectangles
and polygons.
        - `type` (enum)
          Values: `geo_shape`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `ignore_z_value` (boolean)
        - `index` (boolean)
        - `orientation` (enum)
          Values: `right`, `RIGHT`, `counterclockwise`, `ccw`, `left`, `LEFT`, `clockwise`, `cw`
        - `strategy` (enum)
          Values: `recursive`, `term`
      - **type: point** (`type: point`)
        - `type` (enum)
          Values: `point`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `ignore_malformed` (boolean)
        - `ignore_z_value` (boolean)
        - `null_value` (string)
      - **type: shape** (`type: shape`)
        The `shape` data type facilitates the indexing of and searching with arbitrary `x, y` cartesian shapes such as
rectangles and polygons.
        - `type` (enum)
          Values: `shape`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `ignore_z_value` (boolean)
        - `orientation` (enum)
          Values: `right`, `RIGHT`, `counterclockwise`, `ccw`, `left`, `LEFT`, `clockwise`, `cw`
      - **type: byte** (`type: byte`)
        - `type` (enum)
          Values: `byte`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: double** (`type: double`)
        - `type` (enum)
          Values: `double`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: float** (`type: float`)
        - `type` (enum)
          Values: `float`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: half_float** (`type: half_float`)
        - `type` (enum)
          Values: `half_float`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: integer** (`type: integer`)
        - `type` (enum)
          Values: `integer`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: long** (`type: long`)
        - `type` (enum)
          Values: `long`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: scaled_float** (`type: scaled_float`)
        - `type` (enum)
          Values: `scaled_float`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
        - `scaling_factor` (number)
      - **type: short** (`type: short`)
        - `type` (enum)
          Values: `short`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: unsigned_long** (`type: unsigned_long`)
        - `type` (enum)
          Values: `unsigned_long`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `ignore_malformed` (boolean)
        - `index` (boolean)
        - `on_script_error` (enum)
          Values: `fail`, `continue`
        - `script` (string)
        - `time_series_metric` (enum)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
          Values: `gauge`, `counter`, `summary`, `histogram`, `position`
        - `time_series_dimension` (boolean · default: false)
          For internal use by Elastic only. Marks the field as a time series dimension. Defaults to false.
        - `null_value` (number)
      - **type: date_range** (`type: date_range`)
        - `type` (enum)
          Values: `date_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
        - `format` (string)
      - **type: double_range** (`type: double_range`)
        - `type` (enum)
          Values: `double_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
      - **type: float_range** (`type: float_range`)
        - `type` (enum)
          Values: `float_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
      - **type: integer_range** (`type: integer_range`)
        - `type` (enum)
          Values: `integer_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
      - **type: ip_range** (`type: ip_range`)
        - `type` (enum)
          Values: `ip_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
      - **type: long_range** (`type: long_range`)
        - `type` (enum)
          Values: `long_range`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `boost` (number)
        - `coerce` (boolean)
        - `index` (boolean)
      - **type: icu_collation_keyword** (`type: icu_collation_keyword`)
        - `type` (enum)
          Values: `icu_collation_keyword`
        - `meta` (map string to string)
          Metadata about the field.
        - `properties` (map string to oneOf) — recursive
        - `ignore_above` (number)
        - `dynamic` (enum)
          Values: `strict`, `runtime`, `true`, `false`
        - `fields` (map string to oneOf) — recursive
        - `synthetic_source_keep` (enum)
          

Supported values include:
  - `none`: Synthetic source diverges from the original source (default)
  - `arrays`: Arrays of the corresponding field or object preserve the original element ordering and duplicate elements.
The synthetic source fragment for such arrays is not guaranteed to match the original source exactly,
e.g. array [1, 2, [5], [[4, [3]]], 5] may appear as-is or in an equivalent format like [1, 2, 5, 4, 3, 5].
The exact format may change in the future, in an effort to reduce the storage overhead of this option.
  - `all`: The source for both singleton instances and arrays of the corresponding field or object gets recorded.
When applied to objects, the source of all sub-objects and sub-fields gets captured.
Furthermore, the original source of arrays gets captured and appears in synthetic source with no modifications.
          Values: `none`, `arrays`, `all`
        - `copy_to` (union oneOf)
          One of: `string[]` or `string`
        - `store` (boolean)
        - `doc_values` (union oneOf)
          - **boolean**
          - **DocValuesConfig**
            Configuration object for doc values when sub-parameters are needed.
            - `multi_value` (boolean · default: true)
              If `false`, the field is treated as single-valued, enabling optimized storage.
Only has an effect when columnar index mode is active.
            - `nullability` (boolean · default: true)
              If `false`, every document must provide a non-null value for the field: a document that
omits the field, sets it to `null`, or supplies only null values (an empty array or an
all-null array) is rejected at index time.
A field that defines `null_value` is always exempt, since the configured default removes
the absence of a value.
Only has an effect when columnar index mode is active.
        - `norms` (boolean)
        - `index_options` (enum)
          Values: `docs`, `freqs`, `positions`, `offsets`
        - `index` (boolean)
          Should the field be searchable?
        - `null_value` (string)
          Accepts a string value which is substituted for any explicit null values. Defaults to null, which means the field is treated as missing.
        - `rules` (string)
        - `language` (string)
        - `country` (string)
        - `variant` (string)
        - `strength` (enum)
          Values: `primary`, `secondary`, `tertiary`, `quaternary`, `identical`
        - `decomposition` (enum)
          Values: `no`, `identical`
        - `alternate` (enum)
          Values: `shifted`, `non-ignorable`
        - `case_level` (boolean)
        - `case_first` (enum)
          Values: `lower`, `upper`
        - `numeric` (boolean)
        - `variable_top` (string)
        - `hiragana_quaternary_mode` (boolean)
    - `_routing` (object)
      - `required` (boolean)
    - `_size` (object)
      - `enabled` (boolean)
    - `_source` (object)
      - `enabled` (boolean)
      - `excludes` (string[])
      - `includes` (string[])
      - `mode` (enum)
        

Supported values include:
  - `disabled`
  - `stored`
  - `columnar_stored`
  - `synthetic`: Instead of storing source documents on disk exactly as you send them,
 Elasticsearch can reconstruct source content on the fly upon retrieval.
        Values: `disabled`, `stored`, `columnar_stored`, `synthetic`
    - `runtime` (map string to object)
      Map values (object)
      - `fields` (map string to object)
        For type `composite`
        Map values (object)
        - `type` (enum)
          Values: `boolean`, `composite`, `date`, `double`, `geo_point`, `geo_shape`, `ip`, `keyword`, `long`, `lookup`
      - `fetch_fields` (object[])
        For type `lookup`
        - `field` (string)
        - `format` (string)
      - `format` (string)
        A custom format for `date` type runtime fields.
      - `input_field` (string)
        For type `lookup`
      - `target_field` (string)
        For type `lookup`
      - `target_index` (string)
        For type `lookup`
      - `script` (string)
        Painless script executed at query time.
      - `on_script_error` (enum)
        Values: `fail`, `continue`
      - `type` (enum)
        Field type, which can be: `boolean`, `composite`, `date`, `double`, `geo_point`, `ip`,`keyword`, `long`, or `lookup`.
        Values: `boolean`, `composite`, `date`, `double`, `geo_point`, `geo_shape`, `ip`, `keyword`, `long`, `lookup`
    - `enabled` (boolean)
    - `subobjects` (enum)
      Values: `true`, `false`
    - `_data_stream_timestamp` (object)
      - `enabled` (boolean)
  - `effective_mappings` (object)
    The settings specific to this data stream merged with the settings from its template. These `effective_settings`
are the settings that will be used when a new index is created for this data stream.
    Same fields as `mappings` in `data_streams`
## Code examples

#### Console

```console
GET /_data_stream/my-data-stream/_mappings
```

#### JavaScript

```javascript
const response = await client.indices.getDataStreamMappings({
  name: "my-data-stream",
});
```

#### Python

```python
resp = client.indices.get_data_stream_mappings(
    name="my-data-stream",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_data_stream/my-data-stream/_mappings" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.indices().getDataStreamMappings(g -> g
    .name("my-data-stream")
);
```

#### C#

```c#
var response = await client.Indices.GetDataStreamMappingsAsync(name: new[] { "my-data-stream" });
```

#### PHP

```php
$resp = $client->indices()->getDataStreamMappings([
    "name" => "my-data-stream",
]);
```

#### Ruby

```ruby
response = client.indices.get_data_stream_mappings(
  name: "my-data-stream"
)
```

## Response examples

#### Get data stream settings on a data stream

`application/json`

This is a response to `GET /_data_stream/my-data-stream/_settings` where my-data-stream that has two settings set. The `effective_settings` field shows additional settings that are pulled from its template.

```json
{
  "data_streams": [
    {
      "name": "my-data-stream",
      "mappings": {
        "properties": {
          "field1": {
            "type": "ip"
          },
          "field3": {
            "type": "text"
          }
        }
      },
      "effective_mappings": {
        "properties": {
          "field1": {
            "type": "ip"
          },
          "field2": {
            "type": "text"
          },
          "field3": {
            "type": "text"
          }
        }
      }
    }
  ]
}
```

