---
type: api
title: Query
description: An Elasticsearch Query DSL (Domain Specific Language) object that defines a query.
url: https://www.elastic.co/docs/api/doc/elasticsearch/types/_types-query_dsl-querycontainer
resource: https://www.elastic.co/docs/api/doc/elasticsearch/types/_types-query_dsl-querycontainer
products:
  - Elasticsearch
---

# Query

## Description

An Elasticsearch Query DSL (Domain Specific Language) object that defines a query.

[Read the reference documentation](https://www.elastic.co/docs/explore-analyze/query-filter/languages/querydsl)

## Properties

- `bool` (object)
  matches documents matching boolean combinations of other queries.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `filter` (union oneOf) — recursive
    The clause (query) must appear in matching documents.
However, unlike `must`, the score of the query will be ignored.
    `Query` or `Query[]`
  - `minimum_should_match` (number | string)
    Specifies the number or percentage of `should` clauses returned documents must match.
  - `must` (union oneOf) — recursive
    The clause (query) must appear in matching documents and will contribute to the score.
    `Query` or `Query[]`
  - `must_not` (union oneOf) — recursive
    The clause (query) must not appear in the matching documents.
Because scoring is ignored, a score of `0` is returned for all documents.
    `Query` or `Query[]`
  - `should` (union oneOf) — recursive
    The clause (query) should appear in the matching document.
    `Query` or `Query[]`
- `boosting` (object)
  Returns documents matching a `positive` query while reducing the relevance score of documents that also match a `negative` query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `negative_boost` (number)
    Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query.
  - `negative` (Query) — recursive
    Query used to decrease the relevance score of matching documents.
  - `positive` (Query) — recursive
    Any returned documents must match this query.
- `common` (map string to object · min properties: 1 · max properties: 1)
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
  - `cutoff_frequency` (number)
  - `high_freq_operator` (enum)
    Values: `and`, `AND`, `or`, `OR`
  - `low_freq_operator` (enum)
    Values: `and`, `AND`, `or`, `OR`
  - `minimum_should_match` (number | string)
  - `query` (string)
- `combined_fields` (object)
  The `combined_fields` query supports searching multiple text fields as if their contents had been indexed into one combined field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `fields` (string[])
    List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`.
  - `query` (string)
    Text to search for in the provided `fields`.
The `combined_fields` query analyzes the provided text before performing a search.
  - `auto_generate_synonyms_phrase_query` (boolean · default: true)
    If true, match phrase queries are automatically created for multi-term synonyms.
  - `operator` (enum · default: or)
    Boolean logic used to interpret text in the query value.
    Values: `or`, `and`
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
  - `zero_terms_query` (enum · default: none)
    Indicates whether no documents are returned if the analyzer removes all tokens, such as when using a `stop` filter.

Supported values include:
  - `none`: No documents are returned if the analyzer removes all tokens.
  - `all`: Returns all documents, similar to a `match_all` query.
    Values: `none`, `all`
- `constant_score` (object)
  Wraps a filter query and returns every matching document with a relevance score equal to the `boost` parameter value.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `filter` (Query) — recursive
    Filter query you wish to run. Any returned documents must match this query.
Filter queries do not calculate relevance scores.
To speed up performance, Elasticsearch automatically caches frequently used filter queries.
- `dense_vector` (object)
  Scores every document that has a value for a `dense_vector` field, with the exact similarity between its vector and a query vector.
Unlike the `knn` query, it doesn't use an index structure, or a cutoff based on `k` or `num_candidates`.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    The name of the `dense_vector` field to search against.
The field can be indexed, or not indexed (`index: false`).
  - `query_vector` (union oneOf)
    The query vector. It must have the same number of dimensions as the field.
You must provide either `query_vector` or `query_vector_builder`, but not both.
    One of: `number[]` or `string`
  - `query_vector_builder` (object)
    The configuration to build the query vector, for example by running a text embedding model.
You must provide either `query_vector` or `query_vector_builder`, but not both.
    - `embedding` (object)
      - `inference_id` (string)
      - `input` (union oneOf)
        - **string**
        - **InferenceStringGroup**
          One of:
          - **[]InferenceString**
            - `type` (enum)
              The type of data that the value represents.
              Values: `text`, `image`, `audio`, `video`, `pdf`
            - `format` (union enum | string) — nullable
              The format of the data. If null, the default data format for the given type is used.
              Values: `text`, `base64`, `url`
            - `value` (string)
              String which may be raw text, the string representation of some other data such as an image in base64, or a URL that points to the data.
          - **InferenceString**
            - `type` (enum)
              The type of data that the value represents.
              Values: `text`, `image`, `audio`, `video`, `pdf`
            - `format` (union enum | string) — nullable
              The format of the data. If null, the default data format for the given type is used.
              Values: `text`, `base64`, `url`
            - `value` (string)
              String which may be raw text, the string representation of some other data such as an image in base64, or a URL that points to the data.
      - `timeout` (union oneOf)
        Values: `-1`, `0`
    - `text_embedding` (object)
      - `model_id` (string)
        Model ID is required for all dense_vector fields but
may be inferred for semantic_text fields
      - `model_text` (string)
        The text to be converted into a vector by the specified model
    - `lookup` (object)
      Lookup a vector from an existing document.
Must reference a dense_vector field and a single value.
      - `id` (string)
        The ID of the document to fetch the vector from
      - `index` (string)
        The name of the index to fetch the document from
      - `path` (string)
        The name of the field containing the vector
      - `routing` (string)
        The routing value to use when fetching the document
  - `similarity_function` (enum)
    The similarity used for scoring, which overrides the similarity of the field for this query.
It defaults to the similarity of the field, or to `cosine` for a field that is not indexed.
For `bit` fields, only `l2_norm` is supported.
It can't be combined with `quantized: 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`
  - `quantized` (boolean · default: false)
    If `false`, the documents are scored with the full-precision vectors, regardless of the index options of the field.
If `true`, the documents are scored with the quantized vectors of a quantized field, which is faster but less accurate.
For a field that is not quantized, `true` has no effect.
- `dis_max` (object)
  Returns documents matching one or more wrapped queries, called query clauses or clauses.
If a returned document matches multiple query clauses, the `dis_max` query assigns the document the highest relevance score from any matching clause, plus a tie breaking increment for any additional matching subqueries.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `queries` (Query[]) — recursive
    One or more query clauses.
Returned documents must match one or more of these queries.
If a document matches multiple queries, Elasticsearch uses the highest relevance score.
  - `tie_breaker` (number · default: 0)
    Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.
- `distance_feature` (union oneOf)
  Boosts the relevance score of documents closer to a provided origin date or point.
For example, you can use this query to give more weight to documents closer to a certain date or location.
  - **UntypedDistanceFeatureQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `origin` (object)
      Date or point of origin used to calculate distances.
If the `field` value is a `date` or `date_nanos` field, the `origin` value must be a date.
Date Math, such as `now-1h`, is supported.
If the field value is a `geo_point` field, the `origin` value must be a geopoint.
    - `pivot` (object)
      Distance from the `origin` at which relevance scores receive half of the `boost` value.
If the `field` value is a `date` or `date_nanos` field, the `pivot` value must be a time unit, such as `1h` or `10d`. If the `field` value is a `geo_point` field, the `pivot` value must be a distance unit, such as `1km` or `12m`.
    - `field` (string)
      Name of the field used to calculate distances. This field must meet the following criteria:
be a `date`, `date_nanos` or `geo_point` field;
have an `index` mapping parameter value of `true`, which is the default;
have an `doc_values` mapping parameter value of `true`, which is the default.
  - **GeoDistanceFeatureQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `origin` (union oneOf)
      Date or point of origin used to calculate distances.
If the `field` value is a `date` or `date_nanos` field, the `origin` value must be a date.
Date Math, such as `now-1h`, is supported.
If the field value is a `geo_point` field, the `origin` value must be a geopoint.
      - **LatLonGeoLocation**
        - `lat` (number)
          Latitude
        - `lon` (number)
          Longitude
      - **GeoHashLocation**
        - `geohash` (string)
      - **[]number**
      - **string**
    - `pivot` (string)
      Distance from the `origin` at which relevance scores receive half of the `boost` value.
If the `field` value is a `date` or `date_nanos` field, the `pivot` value must be a time unit, such as `1h` or `10d`. If the `field` value is a `geo_point` field, the `pivot` value must be a distance unit, such as `1km` or `12m`.
    - `field` (string)
      Name of the field used to calculate distances. This field must meet the following criteria:
be a `date`, `date_nanos` or `geo_point` field;
have an `index` mapping parameter value of `true`, which is the default;
have an `doc_values` mapping parameter value of `true`, which is the default.
  - **DateDistanceFeatureQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `origin` (string)
      Date or point of origin used to calculate distances.
If the `field` value is a `date` or `date_nanos` field, the `origin` value must be a date.
Date Math, such as `now-1h`, is supported.
If the field value is a `geo_point` field, the `origin` value must be a geopoint.
    - `pivot` (union oneOf)
      Distance from the `origin` at which relevance scores receive half of the `boost` value.
If the `field` value is a `date` or `date_nanos` field, the `pivot` value must be a time unit, such as `1h` or `10d`. If the `field` value is a `geo_point` field, the `pivot` value must be a distance unit, such as `1km` or `12m`.
      Values: `-1`, `0`
    - `field` (string)
      Name of the field used to calculate distances. This field must meet the following criteria:
be a `date`, `date_nanos` or `geo_point` field;
have an `index` mapping parameter value of `true`, which is the default;
have an `doc_values` mapping parameter value of `true`, which is the default.
- `exists` (object)
  Returns documents that contain an indexed value for a field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    Name of the field you wish to search.
- `function_score` (object)
  The `function_score` enables you to modify the score of documents that are retrieved by a query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `boost_mode` (enum · default: multiply)
    Defines how he newly computed score is combined with the score of the query

Supported values include:
  - `multiply`: Query score and function score are multiplied
  - `replace`: Only the function score is used.
The query score is ignored.
  - `sum`: Query score and function score are added
  - `avg`: Query score and function score are averaged
  - `max`: Max of query score and function score
  - `min`: Min of query score and function score
    Values: `multiply`, `replace`, `sum`, `avg`, `max`, `min`
  - `functions` (object[])
    One or more functions that compute a new score for each document returned by the query.
    - `filter` (Query) — recursive
    - `weight` (number)
    - `_name` (string)
      A name to identify which function matched and influenced the score.
    - `exp` (union oneOf)
      Function that scores a document with a exponential decay, depending on the distance of a numeric field value of the document from an origin.
      - **UntypedDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **DateDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **NumericDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **GeoDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
    - `gauss` (union oneOf)
      Function that scores a document with a normal decay, depending on the distance of a numeric field value of the document from an origin.
      - **UntypedDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **DateDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **NumericDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **GeoDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
    - `linear` (union oneOf)
      Function that scores a document with a linear decay, depending on the distance of a numeric field value of the document from an origin.
      - **UntypedDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **DateDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **NumericDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
      - **GeoDecayFunction**
        - `multi_value_mode` (enum · default: min)
          Determines how the distance is calculated when a field used for computing the decay contains multiple values.

Supported values include:
  - `min`: Distance is the minimum distance.
  - `max`: Distance is the maximum distance.
  - `avg`: Distance is the average distance.
  - `sum`: Distance is the sum of all distances.
          Values: `min`, `max`, `avg`, `sum`
    - `field_value_factor` (object)
      Function allows you to use a field from a document to influence the score.
It’s similar to using the script_score function, however, it avoids the overhead of scripting.
      - `field` (string)
        Field to be extracted from the document.
      - `factor` (number · default: 1)
        Optional factor to multiply the field value with.
      - `missing` (number)
        Value used if the document doesn’t have that field.
The modifier and factor are still applied to it as though it were read from the document.
      - `modifier` (enum)
        Modifier to apply to the field value.

Supported values include:
  - `none`: Do not apply any multiplier to the field value.
  - `log`: Take the common logarithm of the field value.
Because this function will return a negative value and cause an error if used on values between 0 and 1, it is recommended to use `log1p` instead.
  - `log1p`: Add 1 to the field value and take the common logarithm.
  - `log2p`: Add 2 to the field value and take the common logarithm.
  - `ln`: Take the natural logarithm of the field value.
Because this function will return a negative value and cause an error if used on values between 0 and 1, it is recommended to use `ln1p` instead.
  - `ln1p`: Add 1 to the field value and take the natural logarithm.
  - `ln2p`: Add 2 to the field value and take the natural logarithm.
  - `square`: Square the field value (multiply it by itself).
  - `sqrt`: Take the square root of the field value.
  - `reciprocal`: Reciprocate the field value, same as `1/x` where `x` is the field’s value.
        Values: `none`, `log`, `log1p`, `log2p`, `ln`, `ln1p`, `ln2p`, `square`, `sqrt`, `reciprocal`
    - `random_score` (object)
      Generates scores that are uniformly distributed from 0 up to but not including 1.
In case you want scores to be reproducible, it is possible to provide a `seed` and `field`.
      - `field` (string)
      - `seed` (number | string)
    - `script_score` (object)
      Enables you to wrap another query and customize the scoring of it optionally with a computation derived from other numeric field values in the doc using a script expression.
      - `script` (string)
        A script that computes a score.
  - `max_boost` (number)
    Restricts the new score to not exceed the provided limit.
  - `min_score` (number)
    Excludes documents that do not meet the provided score threshold.
  - `query` (Query) — recursive
    A query that determines the documents for which a new score is computed.
  - `score_mode` (enum · default: multiply)
    Specifies how the computed scores are combined

Supported values include:
  - `multiply`: Scores are multiplied.
  - `sum`: Scores are summed.
  - `avg`: Scores are averaged.
  - `first`: The first function that has a matching filter is applied.
  - `max`: Maximum score is used.
  - `min`: Minimum score is used.
    Values: `multiply`, `sum`, `avg`, `first`, `max`, `min`
- `fuzzy` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `max_expansions` (number · default: 50)
    Maximum number of variations created.
  - `prefix_length` (number · default: 0)
    Number of beginning characters left unchanged when creating expansions.
  - `rewrite` (string · default: constant_score)
    Number of beginning characters left unchanged when creating expansions.
  - `transpositions` (boolean · default: true)
    Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`).
  - `fuzziness` (number | string)
    Maximum edit distance allowed for matching.
  - `value` (boolean | number | string)
    Term you wish to find in the provided field.
- `geo_bounding_box` (object)
  Matches geo_point and geo_shape values that intersect a bounding box.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `type` (enum)
    Values: `memory`, `indexed`
  - `validation_method` (enum · default: 'strict')
    Set to `IGNORE_MALFORMED` to accept geo points with invalid latitude or longitude.
Set to `COERCE` to also try to infer correct latitude or longitude.

Supported values include:
  - `coerce`: Accept geo points with invalid latitude or longitude and additionally try and infer correct coordinates.
  - `ignore_malformed`: Accept geo points with invalid latitude or longitude.
  - `strict`
    Values: `coerce`, `ignore_malformed`, `strict`
  - `ignore_unmapped` (boolean · default: false)
    Set to `true` to ignore an unmapped field and not match any documents for this query.
Set to `false` to throw an exception if the field is not mapped.
- `geo_distance` (object)
  Matches `geo_point` and `geo_shape` values within a given distance of a geopoint.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `distance` (string)
    The radius of the circle centred on the specified location.
Points which fall into this circle are considered to be matches.
  - `distance_type` (enum · default: 'arc')
    How to compute the distance.
Set to `plane` for a faster calculation that's inaccurate on long distances and close to the poles.

Supported values include:
  - `arc`: The `arc` calculation is the most accurate.
  - `plane`: The `plane` calculation is faster but less accurate.
    Values: `arc`, `plane`
  - `validation_method` (enum · default: 'strict')
    Set to `IGNORE_MALFORMED` to accept geo points with invalid latitude or longitude.
Set to `COERCE` to also try to infer correct latitude or longitude.

Supported values include:
  - `coerce`: Accept geo points with invalid latitude or longitude and additionally try and infer correct coordinates.
  - `ignore_malformed`: Accept geo points with invalid latitude or longitude.
  - `strict`
    Values: `coerce`, `ignore_malformed`, `strict`
  - `ignore_unmapped` (boolean · default: false)
    Set to `true` to ignore an unmapped field and not match any documents for this query.
Set to `false` to throw an exception if the field is not mapped.
- `geo_grid` (map string to object · min properties: 1 · max properties: 1)
  Matches `geo_point` and `geo_shape` values that intersect a grid cell from a GeoGrid aggregation.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `geotile` (string)
  - `geohash` (string)
  - `geohex` (string)
- `geo_polygon` (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `validation_method` (enum · default: 'strict')
    

Supported values include:
  - `coerce`: Accept geo points with invalid latitude or longitude and additionally try and infer correct coordinates.
  - `ignore_malformed`: Accept geo points with invalid latitude or longitude.
  - `strict`
    Values: `coerce`, `ignore_malformed`, `strict`
  - `ignore_unmapped` (boolean)
- `geo_shape` (object)
  Filter documents indexed using either the `geo_shape` or the `geo_point` type.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `ignore_unmapped` (boolean · default: false)
    Set to `true` to ignore an unmapped field and not match any documents for this query.
Set to `false` to throw an exception if the field is not mapped.
- `has_child` (object)
  Returns parent documents whose joined child documents match a provided query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `ignore_unmapped` (boolean · default: false)
    Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.
  - `inner_hits` (object)
    If defined, each search hit will contain inner hits.
    - `name` (string)
      The name for the particular inner hit definition in the response.
Useful when a search request contains multiple inner hits.
    - `size` (number · default: 3)
      The maximum number of hits to return per `inner_hits`.
    - `from` (number · default: 0)
      Inner hit starting document offset.
    - `collapse` (object)
      - `field` (string)
        The field to collapse the result set on
      - `inner_hits` (union oneOf) — recursive
        The number of inner hits and their sort order
        `object` or `object[]`
      - `max_concurrent_group_searches` (number)
        The number of concurrent requests allowed to retrieve the inner_hits per group
    - `docvalue_fields` (object[])
      - `field` (string)
        A wildcard pattern. The request returns values for field names matching this pattern.
      - `format` (string)
        The format in which the values are returned.
      - `include_unmapped` (boolean)
    - `explain` (boolean)
    - `highlight` (object)
      - `type` (union anyOf)
        

Supported values include:
  - `plain`: The `plain` highlighter uses the standard Lucene highlighter
  - `fvh`: The fvh highlighter uses the Lucene Fast Vector highlighter.
  - `unified`: The unified highlighter uses the Lucene Unified Highlighter.
        Values: `plain`, `fvh`, `unified`
      - `boundary_chars` (string · default: .,!? \t\n)
        A string that contains each boundary character.
      - `boundary_max_scan` (number · default: 20)
        How far to scan for boundary characters.
      - `boundary_scanner` (enum)
        Specifies how to break the highlighted fragments: chars, sentence, or word.
Only valid for the unified and fvh highlighters.
Defaults to `sentence` for the `unified` highlighter. Defaults to `chars` for the `fvh` highlighter.

Supported values include:
  - `chars`: Use the characters specified by `boundary_chars` as highlighting boundaries.
The `boundary_max_scan` setting controls how far to scan for boundary characters.
Only valid for the `fvh` highlighter.
  - `sentence`: Break highlighted fragments at the next sentence boundary, as determined by Java’s `BreakIterator`.
You can specify the locale to use with `boundary_scanner_locale`.
When used with the `unified` highlighter, the `sentence` scanner splits sentences bigger than `fragment_size` at the first word boundary next to fragment_size.
You can set `fragment_size` to `0` to never split any sentence.
  - `word`: Break highlighted fragments at the next word boundary, as determined by Java’s `BreakIterator`.
You can specify the locale to use with `boundary_scanner_locale`.
        Values: `chars`, `sentence`, `word`
      - `boundary_scanner_locale` (string · default: Locale.ROOT)
        Controls which locale is used to search for sentence and word boundaries.
This parameter takes a form of a language tag, for example: `"en-US"`, `"fr-FR"`, `"ja-JP"`.
      - `force_source` (boolean)
      - `fragmenter` (enum · default: span)
        Specifies how text should be broken up in highlight snippets: `simple` or `span`.
Only valid for the `plain` highlighter.
        Values: `simple`, `span`
      - `fragment_size` (number · default: 100)
        The size of the highlighted fragment in characters.
      - `highlight_filter` (boolean)
      - `highlight_query` (Query) — recursive
        Highlight matches for a query other than the search query.
This is especially useful if you use a rescore query because those are not taken into account by highlighting by default.
      - `max_fragment_length` (number)
      - `max_analyzed_offset` (number)
        If set to a non-negative value, highlighting stops at this defined maximum limit.
The rest of the text is not processed, thus not highlighted and no error is returned
The `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it’s set to lower value than the query setting.
      - `no_match_size` (number · default: 0)
        The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.
      - `number_of_fragments` (number · default: 5)
        The maximum number of fragments to return.
If the number of fragments is set to `0`, no fragments are returned.
Instead, the entire field contents are highlighted and returned.
This can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required.
If `number_of_fragments` is `0`, `fragment_size` is ignored.
      - `options` (map string to object)
      - `order` (enum · default: none)
        Sorts highlighted fragments by score when set to `score`.
By default, fragments will be output in the order they appear in the field (order: `none`).
Setting this option to `score` will output the most relevant fragments first.
Each highlighter applies its own logic to compute relevancy scores.
        Values: `score`
      - `phrase_limit` (number · default: 256)
        Controls the number of matching phrases in a document that are considered.
Prevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory.
When using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory.
Only supported by the `fvh` highlighter.
      - `post_tags` (string[])
        Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text.
By default, highlighted text is wrapped in `<em>` and `</em>` tags.
      - `pre_tags` (string[])
        Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text.
By default, highlighted text is wrapped in `<em>` and `</em>` tags.
      - `require_field_match` (boolean · default: true)
        By default, only fields that contains a query match are highlighted.
Set to `false` to highlight all fields.
      - `tags_schema` (enum)
        Set to `styled` to use the built-in tag schema.
        Values: `styled`
      - `encoder` (enum)
        Values: `default`, `html`
      - `fields` (union oneOf)
        `map string to object` or `[] map string to object`
    - `ignore_unmapped` (boolean)
    - `script_fields` (map string to object)
      Map values (object)
      - `script` (string)
      - `ignore_failure` (boolean)
    - `seq_no_primary_term` (boolean)
    - `field` (string[])
    - `fields` (object[])
      - `field` (string)
        A wildcard pattern. The request returns values for field names matching this pattern.
      - `format` (string)
        The format in which the values are returned.
      - `include_unmapped` (boolean)
    - `sort` (union oneOf)
      How the inner hits should be sorted per `inner_hits`.
By default, inner hits are sorted by score.
      A value or an array; each item is one of:
      - **string**
        Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.
      - **SortOptions**
        - `_score` (object)
          - `order` (enum)
            

Supported values include:
  - `asc`: Ascending (smallest to largest)
  - `desc`: Descending (largest to smallest)
            Values: `asc`, `desc`
        - `_doc` (object)
          - `order` (enum)
            

Supported values include:
  - `asc`: Ascending (smallest to largest)
  - `desc`: Descending (largest to smallest)
            Values: `asc`, `desc`
        - `_geo_distance` (object)
          - `mode` (enum)
            Values: `min`, `max`, `sum`, `avg`, `median`
          - `distance_type` (enum)
            

Supported values include:
  - `arc`: The `arc` calculation is the most accurate.
  - `plane`: The `plane` calculation is faster but less accurate.
            Values: `arc`, `plane`
          - `ignore_unmapped` (boolean)
          - `order` (enum)
            

Supported values include:
  - `asc`: Ascending (smallest to largest)
  - `desc`: Descending (largest to smallest)
            Values: `asc`, `desc`
          - `unit` (enum)
            Values: `in`, `ft`, `yd`, `mi`, `nmi`, `km`, `m`, `cm`, `mm`
          - `nested` (object)
            - `filter` (Query) — recursive
            - `max_children` (number)
            - `nested` (object) — recursive
              Same fields as `nested` in `_geo_distance`
            - `path` (string)
        - `_script` (object)
          - `order` (enum)
            

Supported values include:
  - `asc`: Ascending (smallest to largest)
  - `desc`: Descending (largest to smallest)
            Values: `asc`, `desc`
          - `script` (string)
          - `type` (enum)
            Values: `string`, `number`, `version`
          - `mode` (enum)
            Values: `min`, `max`, `sum`, `avg`, `median`
          - `nested` (object)
            - `filter` (Query) — recursive
            - `max_children` (number)
            - `nested` (object) — recursive
              Same fields as `nested` in `_script`
            - `path` (string)
    - `_source` (union oneOf)
      - **boolean**
      - **SourceFilter**
        - `exclude_vectors` (boolean)
          If `true`, vector fields are excluded from the returned source.

This option takes precedence over `includes`: any vector field will
remain excluded even if it matches an `includes` rule.
        - `excludes` (union oneOf)
          A list of fields to exclude from the returned source.
          One of: `string[]` or `string`
        - `includes` (union oneOf)
          A list of fields to include in the returned source.
          One of: `string[]` or `string`
    - `stored_fields` (union oneOf)
      One of: `string[]` or `string`
    - `track_scores` (boolean · default: false)
    - `version` (boolean)
  - `max_children` (number)
    Maximum number of child documents that match the query allowed for a returned parent document.
If the parent document exceeds this limit, it is excluded from the search results.
  - `min_children` (number)
    Minimum number of child documents that match the query required to match the query for a returned parent document.
If the parent document does not meet this limit, it is excluded from the search results.
  - `query` (Query) — recursive
    Query you wish to run on child documents of the `type` field.
If a child document matches the search, the query returns the parent document.
  - `score_mode` (enum · default: 'none')
    Indicates how scores for matching child documents affect the root parent document’s relevance score.
    Values: `none`, `avg`, `sum`, `max`, `min`
  - `type` (string)
    Name of the child relationship mapped for the `join` field.
- `has_parent` (object)
  Returns child documents whose joined parent document matches a provided query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `ignore_unmapped` (boolean · default: false)
    Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error.
You can use this parameter to query multiple indices that may not contain the `parent_type`.
  - `inner_hits` (object)
    If defined, each search hit will contain inner hits.
    Same fields as `inner_hits` in `has_child`
  - `parent_type` (string)
    Name of the parent relationship mapped for the `join` field.
  - `query` (Query) — recursive
    Query you wish to run on parent documents of the `parent_type` field.
If a parent document matches the search, the query returns its child documents.
  - `score` (boolean · default: false)
    Indicates whether the relevance score of a matching parent document is aggregated into its child documents.
- `ids` (object)
  Returns documents based on their IDs.
This query uses document IDs stored in the `_id` field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `values` (union oneOf)
    An array of document IDs.
    One of: `string[]` or `string`
- `intervals` (map string to object · min properties: 1 · max properties: 1)
  Returns documents based on the order and proximity of matching terms.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `all_of` (object)
    Returns matches that span a combination of other rules.
    - `intervals` (object[])
      An array of rules to combine. All rules must produce a match in a document for the overall source to match.
      - `all_of` (object) — recursive
        Returns matches that span a combination of other rules.
        Same fields as `all_of` in `intervals`
      - `any_of` (object)
        Returns intervals produced by any of its sub-rules.
        - `intervals` (object[]) — recursive
          An array of rules to match.
          Same fields as `intervals` in `all_of`
        - `filter` (object)
          Rule used to filter returned intervals.
          - `after` (object) — recursive
            Query used to return intervals that follow an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `before` (object) — recursive
            Query used to return intervals that occur before an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `contained_by` (object) — recursive
            Query used to return intervals contained by an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `containing` (object) — recursive
            Query used to return intervals that contain an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_contained_by` (object) — recursive
            Query used to return intervals that are **not** contained by an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_containing` (object) — recursive
            Query used to return intervals that do **not** contain an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_overlapping` (object) — recursive
            Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `overlapping` (object) — recursive
            Query used to return intervals that overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `script` (string)
            Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
      - `fuzzy` (object)
        Matches analyzed text.
        - `analyzer` (string)
          Analyzer used to normalize the term.
        - `fuzziness` (number | string · default: auto)
          Maximum edit distance allowed for matching.
        - `prefix_length` (number · default: 0)
          Number of beginning characters left unchanged when creating expansions.
        - `term` (string)
          The term to match.
        - `transpositions` (boolean · default: true)
          Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `match` (object)
        Matches analyzed text.
        - `analyzer` (string)
          Analyzer used to analyze terms in the query.
        - `max_gaps` (number · default: -1)
          Maximum number of positions between the matching terms.
Terms further apart than this are not considered matches.
        - `ordered` (boolean · default: false)
          If `true`, matching terms must appear in their specified order.
        - `query` (string)
          Text you wish to find in the provided field.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `filter` (object)
          An optional interval filter.
          - `after` (object) — recursive
            Query used to return intervals that follow an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `before` (object) — recursive
            Query used to return intervals that occur before an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `contained_by` (object) — recursive
            Query used to return intervals contained by an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `containing` (object) — recursive
            Query used to return intervals that contain an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_contained_by` (object) — recursive
            Query used to return intervals that are **not** contained by an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_containing` (object) — recursive
            Query used to return intervals that do **not** contain an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `not_overlapping` (object) — recursive
            Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `overlapping` (object) — recursive
            Query used to return intervals that overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `all_of`
          - `script` (string)
            Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
      - `prefix` (object)
        Matches terms that start with a specified set of characters.
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `prefix` (string)
          Beginning characters of terms you wish to find in the top-level field.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `range` (object)
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `gte` (string)
          Lower term, either gte or gt must be provided.
        - `gt` (string)
          Lower term, either gte or gt must be provided.
        - `lte` (string)
          Upper term, either lte or lt must be provided.
        - `lt` (string)
          Upper term, either lte or lt must be provided.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `regexp` (object)
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `pattern` (string)
          Regex pattern.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `wildcard` (object)
        Matches terms using a wildcard pattern.
        - `analyzer` (string)
          Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
        - `pattern` (string)
          Wildcard pattern used to find matching terms.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
    - `max_gaps` (number · default: -1)
      Maximum number of positions between the matching terms.
Intervals produced by the rules further apart than this are not considered matches.
    - `ordered` (boolean · default: false)
      If `true`, intervals produced by the rules should appear in the order in which they are specified.
    - `filter` (object)
      Rule used to filter returned intervals.
      - `after` (object)
        Query used to return intervals that follow an interval from the `filter` rule.
        - `all_of` (object) — recursive
          Returns matches that span a combination of other rules.
          Same fields as `all_of` in `intervals`
        - `any_of` (object)
          Returns intervals produced by any of its sub-rules.
          - `intervals` (object[]) — recursive
            An array of rules to match.
            Same fields as `after` in `filter`
          - `filter` (object) — recursive
            Rule used to filter returned intervals.
            Same fields as `filter` in `all_of`
        - `fuzzy` (object)
          Matches analyzed text.
          - `analyzer` (string)
            Analyzer used to normalize the term.
          - `fuzziness` (number | string · default: auto)
            Maximum edit distance allowed for matching.
          - `prefix_length` (number · default: 0)
            Number of beginning characters left unchanged when creating expansions.
          - `term` (string)
            The term to match.
          - `transpositions` (boolean · default: true)
            Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `match` (object)
          Matches analyzed text.
          - `analyzer` (string)
            Analyzer used to analyze terms in the query.
          - `max_gaps` (number · default: -1)
            Maximum number of positions between the matching terms.
Terms further apart than this are not considered matches.
          - `ordered` (boolean · default: false)
            If `true`, matching terms must appear in their specified order.
          - `query` (string)
            Text you wish to find in the provided field.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
          - `filter` (object) — recursive
            An optional interval filter.
            Same fields as `filter` in `all_of`
        - `prefix` (object)
          Matches terms that start with a specified set of characters.
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `prefix` (string)
            Beginning characters of terms you wish to find in the top-level field.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `range` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `gte` (string)
            Lower term, either gte or gt must be provided.
          - `gt` (string)
            Lower term, either gte or gt must be provided.
          - `lte` (string)
            Upper term, either lte or lt must be provided.
          - `lt` (string)
            Upper term, either lte or lt must be provided.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `regexp` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `pattern` (string)
            Regex pattern.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `wildcard` (object)
          Matches terms using a wildcard pattern.
          - `analyzer` (string)
            Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
          - `pattern` (string)
            Wildcard pattern used to find matching terms.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `before` (object)
        Query used to return intervals that occur before an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `contained_by` (object)
        Query used to return intervals contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `containing` (object)
        Query used to return intervals that contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_contained_by` (object)
        Query used to return intervals that are **not** contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_containing` (object)
        Query used to return intervals that do **not** contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_overlapping` (object)
        Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `overlapping` (object)
        Query used to return intervals that overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `script` (string)
        Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
  - `any_of` (object)
    Returns intervals produced by any of its sub-rules.
    - `intervals` (object[])
      An array of rules to match.
      - `all_of` (object)
        Returns matches that span a combination of other rules.
        - `intervals` (object[]) — recursive
          An array of rules to combine. All rules must produce a match in a document for the overall source to match.
          Same fields as `intervals` in `any_of`
        - `max_gaps` (number · default: -1)
          Maximum number of positions between the matching terms.
Intervals produced by the rules further apart than this are not considered matches.
        - `ordered` (boolean · default: false)
          If `true`, intervals produced by the rules should appear in the order in which they are specified.
        - `filter` (object)
          Rule used to filter returned intervals.
          - `after` (object) — recursive
            Query used to return intervals that follow an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `before` (object) — recursive
            Query used to return intervals that occur before an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `contained_by` (object) — recursive
            Query used to return intervals contained by an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `containing` (object) — recursive
            Query used to return intervals that contain an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `not_contained_by` (object) — recursive
            Query used to return intervals that are **not** contained by an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `not_containing` (object) — recursive
            Query used to return intervals that do **not** contain an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `not_overlapping` (object) — recursive
            Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `overlapping` (object) — recursive
            Query used to return intervals that overlap with an interval from the `filter` rule.
            Same fields as `intervals` in `any_of`
          - `script` (string)
            Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
      - `any_of` (object) — recursive
        Returns intervals produced by any of its sub-rules.
        Same fields as `any_of` in `intervals`
      - `fuzzy` (object)
        Matches analyzed text.
        - `analyzer` (string)
          Analyzer used to normalize the term.
        - `fuzziness` (number | string · default: auto)
          Maximum edit distance allowed for matching.
        - `prefix_length` (number · default: 0)
          Number of beginning characters left unchanged when creating expansions.
        - `term` (string)
          The term to match.
        - `transpositions` (boolean · default: true)
          Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `match` (object)
        Matches analyzed text.
        Same fields as `match` in `intervals`
      - `prefix` (object)
        Matches terms that start with a specified set of characters.
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `prefix` (string)
          Beginning characters of terms you wish to find in the top-level field.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `range` (object)
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `gte` (string)
          Lower term, either gte or gt must be provided.
        - `gt` (string)
          Lower term, either gte or gt must be provided.
        - `lte` (string)
          Upper term, either lte or lt must be provided.
        - `lt` (string)
          Upper term, either lte or lt must be provided.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `regexp` (object)
        - `analyzer` (string)
          Analyzer used to analyze the `prefix`.
        - `pattern` (string)
          Regex pattern.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `wildcard` (object)
        Matches terms using a wildcard pattern.
        - `analyzer` (string)
          Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
        - `pattern` (string)
          Wildcard pattern used to find matching terms.
        - `use_field` (string)
          If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
    - `filter` (object)
      Rule used to filter returned intervals.
      - `after` (object)
        Query used to return intervals that follow an interval from the `filter` rule.
        - `all_of` (object)
          Returns matches that span a combination of other rules.
          - `intervals` (object[]) — recursive
            An array of rules to combine. All rules must produce a match in a document for the overall source to match.
            Same fields as `after` in `filter`
          - `max_gaps` (number · default: -1)
            Maximum number of positions between the matching terms.
Intervals produced by the rules further apart than this are not considered matches.
          - `ordered` (boolean · default: false)
            If `true`, intervals produced by the rules should appear in the order in which they are specified.
          - `filter` (object) — recursive
            Rule used to filter returned intervals.
            Same fields as `filter` in `any_of`
        - `any_of` (object) — recursive
          Returns intervals produced by any of its sub-rules.
          Same fields as `any_of` in `intervals`
        - `fuzzy` (object)
          Matches analyzed text.
          - `analyzer` (string)
            Analyzer used to normalize the term.
          - `fuzziness` (number | string · default: auto)
            Maximum edit distance allowed for matching.
          - `prefix_length` (number · default: 0)
            Number of beginning characters left unchanged when creating expansions.
          - `term` (string)
            The term to match.
          - `transpositions` (boolean · default: true)
            Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `match` (object)
          Matches analyzed text.
          - `analyzer` (string)
            Analyzer used to analyze terms in the query.
          - `max_gaps` (number · default: -1)
            Maximum number of positions between the matching terms.
Terms further apart than this are not considered matches.
          - `ordered` (boolean · default: false)
            If `true`, matching terms must appear in their specified order.
          - `query` (string)
            Text you wish to find in the provided field.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
          - `filter` (object) — recursive
            An optional interval filter.
            Same fields as `filter` in `any_of`
        - `prefix` (object)
          Matches terms that start with a specified set of characters.
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `prefix` (string)
            Beginning characters of terms you wish to find in the top-level field.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `range` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `gte` (string)
            Lower term, either gte or gt must be provided.
          - `gt` (string)
            Lower term, either gte or gt must be provided.
          - `lte` (string)
            Upper term, either lte or lt must be provided.
          - `lt` (string)
            Upper term, either lte or lt must be provided.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `regexp` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `pattern` (string)
            Regex pattern.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `wildcard` (object)
          Matches terms using a wildcard pattern.
          - `analyzer` (string)
            Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
          - `pattern` (string)
            Wildcard pattern used to find matching terms.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `before` (object)
        Query used to return intervals that occur before an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `contained_by` (object)
        Query used to return intervals contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `containing` (object)
        Query used to return intervals that contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_contained_by` (object)
        Query used to return intervals that are **not** contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_containing` (object)
        Query used to return intervals that do **not** contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_overlapping` (object)
        Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `overlapping` (object)
        Query used to return intervals that overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `script` (string)
        Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
  - `fuzzy` (object)
    Matches terms that are similar to the provided term, within an edit distance defined by `fuzziness`.
    - `analyzer` (string)
      Analyzer used to normalize the term.
    - `fuzziness` (number | string · default: auto)
      Maximum edit distance allowed for matching.
    - `prefix_length` (number · default: 0)
      Number of beginning characters left unchanged when creating expansions.
    - `term` (string)
      The term to match.
    - `transpositions` (boolean · default: true)
      Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
  - `match` (object)
    Matches analyzed text.
    - `analyzer` (string)
      Analyzer used to analyze terms in the query.
    - `max_gaps` (number · default: -1)
      Maximum number of positions between the matching terms.
Terms further apart than this are not considered matches.
    - `ordered` (boolean · default: false)
      If `true`, matching terms must appear in their specified order.
    - `query` (string)
      Text you wish to find in the provided field.
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
    - `filter` (object)
      An optional interval filter.
      - `after` (object)
        Query used to return intervals that follow an interval from the `filter` rule.
        - `all_of` (object)
          Returns matches that span a combination of other rules.
          - `intervals` (object[]) — recursive
            An array of rules to combine. All rules must produce a match in a document for the overall source to match.
            Same fields as `after` in `filter`
          - `max_gaps` (number · default: -1)
            Maximum number of positions between the matching terms.
Intervals produced by the rules further apart than this are not considered matches.
          - `ordered` (boolean · default: false)
            If `true`, intervals produced by the rules should appear in the order in which they are specified.
          - `filter` (object) — recursive
            Rule used to filter returned intervals.
            Same fields as `filter` in `match`
        - `any_of` (object)
          Returns intervals produced by any of its sub-rules.
          - `intervals` (object[]) — recursive
            An array of rules to match.
            Same fields as `after` in `filter`
          - `filter` (object) — recursive
            Rule used to filter returned intervals.
            Same fields as `filter` in `match`
        - `fuzzy` (object)
          Matches analyzed text.
          - `analyzer` (string)
            Analyzer used to normalize the term.
          - `fuzziness` (number | string · default: auto)
            Maximum edit distance allowed for matching.
          - `prefix_length` (number · default: 0)
            Number of beginning characters left unchanged when creating expansions.
          - `term` (string)
            The term to match.
          - `transpositions` (boolean · default: true)
            Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `term` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `match` (object) — recursive
          Matches analyzed text.
          Same fields as `match` in `intervals`
        - `prefix` (object)
          Matches terms that start with a specified set of characters.
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `prefix` (string)
            Beginning characters of terms you wish to find in the top-level field.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `range` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `gte` (string)
            Lower term, either gte or gt must be provided.
          - `gt` (string)
            Lower term, either gte or gt must be provided.
          - `lte` (string)
            Upper term, either lte or lt must be provided.
          - `lt` (string)
            Upper term, either lte or lt must be provided.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `regexp` (object)
          - `analyzer` (string)
            Analyzer used to analyze the `prefix`.
          - `pattern` (string)
            Regex pattern.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
        - `wildcard` (object)
          Matches terms using a wildcard pattern.
          - `analyzer` (string)
            Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
          - `pattern` (string)
            Wildcard pattern used to find matching terms.
          - `use_field` (string)
            If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
      - `before` (object)
        Query used to return intervals that occur before an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `contained_by` (object)
        Query used to return intervals contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `containing` (object)
        Query used to return intervals that contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_contained_by` (object)
        Query used to return intervals that are **not** contained by an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_containing` (object)
        Query used to return intervals that do **not** contain an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `not_overlapping` (object)
        Query used to return intervals that do **not** overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `overlapping` (object)
        Query used to return intervals that overlap with an interval from the `filter` rule.
        Same fields as `after` in `filter`
      - `script` (string)
        Script used to return matching documents.
This script must return a boolean value: `true` or `false`.
  - `prefix` (object)
    Matches terms that start with a specified set of characters.
    - `analyzer` (string)
      Analyzer used to analyze the `prefix`.
    - `prefix` (string)
      Beginning characters of terms you wish to find in the top-level field.
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
  - `range` (object)
    - `analyzer` (string)
      Analyzer used to analyze the `prefix`.
    - `gte` (string)
      Lower term, either gte or gt must be provided.
    - `gt` (string)
      Lower term, either gte or gt must be provided.
    - `lte` (string)
      Upper term, either lte or lt must be provided.
    - `lt` (string)
      Upper term, either lte or lt must be provided.
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
  - `regexp` (object)
    - `analyzer` (string)
      Analyzer used to analyze the `prefix`.
    - `pattern` (string)
      Regex pattern.
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `prefix` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
  - `wildcard` (object)
    Matches terms using a wildcard pattern.
    - `analyzer` (string)
      Analyzer used to analyze the `pattern`.
Defaults to the top-level field's analyzer.
    - `pattern` (string)
      Wildcard pattern used to find matching terms.
    - `use_field` (string)
      If specified, match intervals from this field rather than the top-level field.
The `pattern` is normalized using the search analyzer from this field, unless `analyzer` is specified separately.
- `knn` (object)
  Finds the k nearest vectors to a query vector, as measured by a similarity
metric. knn query finds nearest vectors through approximate search on indexed
dense_vectors.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    The name of the vector field to search against
  - `query_vector` (union oneOf)
    The query vector
    One of: `number[]` or `string`
  - `query_vector_builder` (object)
    The query vector builder. You must provide a query_vector_builder or query_vector, but not both.
    Same fields as `query_vector_builder` in `dense_vector`
  - `num_candidates` (number)
    The number of nearest neighbor candidates to consider per shard
  - `visit_percentage` (number)
    The percentage of vectors to explore per shard while doing knn search with bbq_disk
  - `k` (number)
    The final number of nearest neighbors to return as top hits
  - `filter` (union oneOf) — recursive
    Filters for the kNN search query
    `Query` or `Query[]`
  - `similarity` (number)
    The minimum similarity for a vector to be considered a match
  - `rescore_vector` (object)
    Apply oversampling and rescoring to quantized vectors
    - `oversample` (number)
      Applies the specified oversample factor to k on the approximate kNN search
- `kql` (object)
  Returns documents matching a provided Kibana Query Language (KQL) expression.
The expression is parsed and rewritten into standard Query DSL.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `case_insensitive` (boolean · default: false)
    If `true`, performs case-insensitive matching for field names and keyword or text terms.
  - `default_field` (string)
    Default field, or field pattern with wildcards, to target when a bare term does not specify a field.
Defaults to the `index.query.default_field` index setting, which has a default value of `*`.
  - `query` (string)
    The KQL expression to parse.
  - `time_zone` (string)
    Coordinated Universal Time (UTC) offset or IANA time zone used to interpret date literals in the expression.
- `match` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that match a provided text, number, date or boolean value.
The provided text is analyzed before matching.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert the text in the query value into tokens.
  - `auto_generate_synonyms_phrase_query` (boolean · default: true)
    If `true`, match phrase queries are automatically created for multi-term synonyms.
  - `cutoff_frequency` (number)
  - `fuzziness` (number | string)
    Maximum edit distance allowed for matching.
  - `fuzzy_rewrite` (string)
    Method used to rewrite the query.
  - `fuzzy_transpositions` (boolean · default: true)
    If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).
  - `lenient` (boolean · default: false)
    If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.
  - `max_expansions` (number · default: 50)
    Maximum number of terms to which the query will expand.
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
  - `operator` (enum · default: 'or')
    Boolean logic used to interpret text in the query value.
    Values: `and`, `AND`, `or`, `OR`
  - `prefix_length` (number · default: 0)
    Number of beginning characters left unchanged for fuzzy matching.
  - `query` (boolean | number | string)
    Text, number, boolean value or date you wish to find in the provided field.
  - `zero_terms_query` (enum · default: 'none')
    Indicates whether no documents are returned if the `analyzer` removes all tokens, such as when using a `stop` filter.

Supported values include:
  - `all`: Returns all documents, similar to a `match_all` query.
  - `none`: No documents are returned if the `analyzer` removes all tokens.
    Values: `all`, `none`
- `match_all` (object)
  Matches all documents, giving them all a `_score` of 1.0.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
- `match_bool_prefix` (map string to object · min properties: 1 · max properties: 1)
  Analyzes its input and constructs a `bool` query from the terms.
Each term except the last is used in a `term` query.
The last term is used in a prefix query.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert the text in the query value into tokens.
  - `fuzziness` (number | string)
    Maximum edit distance allowed for matching.
Can be applied to the term subqueries constructed for all terms but the final term.
  - `fuzzy_rewrite` (string)
    Method used to rewrite the query.
Can be applied to the term subqueries constructed for all terms but the final term.
  - `fuzzy_transpositions` (boolean · default: true)
    If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).
Can be applied to the term subqueries constructed for all terms but the final term.
  - `max_expansions` (number · default: 50)
    Maximum number of terms to which the query will expand.
Can be applied to the term subqueries constructed for all terms but the final term.
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
Applied to the constructed bool query.
  - `operator` (enum · default: 'or')
    Boolean logic used to interpret text in the query value.
Applied to the constructed bool query.
    Values: `and`, `AND`, `or`, `OR`
  - `prefix_length` (number · default: 0)
    Number of beginning characters left unchanged for fuzzy matching.
Can be applied to the term subqueries constructed for all terms but the final term.
  - `query` (string)
    Terms you wish to find in the provided field.
The last term is used in a prefix query.
- `match_none` (object)
  Matches no documents.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
- `match_phrase` (map string to object · min properties: 1 · max properties: 1)
  Analyzes the text and creates a phrase query out of the analyzed text.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert the text in the query value into tokens.
  - `query` (string)
    Query terms that are analyzed and turned into a phrase query.
  - `slop` (number · default: 0)
    Maximum number of positions allowed between matching tokens.
  - `zero_terms_query` (enum · default: 'none')
    Indicates whether no documents are returned if the `analyzer` removes all tokens, such as when using a `stop` filter.

Supported values include:
  - `all`: Returns all documents, similar to a `match_all` query.
  - `none`: No documents are returned if the `analyzer` removes all tokens.
    Values: `all`, `none`
- `match_phrase_prefix` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain the words of a provided text, in the same order as provided.
The last term of the provided text is treated as a prefix, matching any words that begin with that term.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert text in the query value into tokens.
  - `max_expansions` (number · default: 50)
    Maximum number of terms to which the last provided term of the query value will expand.
  - `query` (string)
    Text you wish to find in the provided field.
  - `slop` (number · default: 0)
    Maximum number of positions allowed between matching tokens.
  - `zero_terms_query` (enum · default: none)
    Indicates whether no documents are returned if the analyzer removes all tokens, such as when using a `stop` filter.

Supported values include:
  - `all`: Returns all documents, similar to a `match_all` query.
  - `none`: No documents are returned if the `analyzer` removes all tokens.
    Values: `all`, `none`
- `more_like_this` (object)
  Returns documents that are "like" a given set of documents.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    The analyzer that is used to analyze the free form text.
Defaults to the analyzer associated with the first field in fields.
  - `boost_terms` (number · default: 0)
    Each term in the formed query could be further boosted by their tf-idf score.
This sets the boost factor to use when using this feature.
Defaults to deactivated (0).
  - `fail_on_unsupported_field` (boolean · default: true)
    Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`).
  - `fields` (string[])
    A list of fields to fetch and analyze the text from.
Defaults to the `index.query.default_field` index setting, which has a default value of `*`.
  - `include` (boolean · default: false)
    Specifies whether the input documents should also be included in the search results returned.
  - `like` (union oneOf)
    Specifies free form text and/or a single or multiple documents for which you want to find similar documents.
    A value or an array; each item is one of:
    - **string**
    - **LikeDocument**
      - `doc` (object)
        A document not present in the index.
      - `fields` (string[])
      - `_id` (string)
        ID of a document.
      - `_index` (string)
        Index of a document.
      - `per_field_analyzer` (map string to string)
        Overrides the default analyzer.
      - `routing` (union oneOf)
        One of: `string[]` or `string`
      - `version` (number)
      - `version_type` (enum · default: 'internal')
        

Supported values include:
  - `internal`: Use internal versioning that starts at 1 and increments with each update or delete.
  - `external`: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.
  - `external_gte`: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document.
NOTE: The `external_gte` version type is meant for special use cases and should be used with care.
If used incorrectly, it can result in loss of data.
        Values: `internal`, `external`, `external_gte`
  - `max_doc_freq` (number)
    The maximum document frequency above which the terms are ignored from the input document.
  - `max_query_terms` (number · default: 25)
    The maximum number of query terms that can be selected.
  - `max_word_length` (number · default: 0)
    The maximum word length above which the terms are ignored.
Defaults to unbounded (`0`).
  - `min_doc_freq` (number · default: 5)
    The minimum document frequency below which the terms are ignored from the input document.
  - `minimum_should_match` (number | string)
    After the disjunctive query has been formed, this parameter controls the number of terms that must match.
  - `min_term_freq` (number · default: 2)
    The minimum term frequency below which the terms are ignored from the input document.
  - `min_word_length` (number · default: 0)
    The minimum word length below which the terms are ignored.
  - `routing` (string)
  - `stop_words` (union oneOf)
    An array of stop words.
Any word in this set is ignored.
    Values: `_arabic_`, `_armenian_`, `_basque_`, `_bengali_`, `_brazilian_`, `_bulgarian_`, `_catalan_`, `_cjk_`, `_czech_`, `_danish_`, `_dutch_`, `_english_`, `_estonian_`, `_finnish_`, `_french_`, `_galician_`, `_german_`, `_greek_`, `_hindi_`, `_hungarian_`, `_indonesian_`, `_irish_`, `_italian_`, `_latvian_`, `_lithuanian_`, `_norwegian_`, `_persian_`, `_portuguese_`, `_romanian_`, `_russian_`, `_serbian_`, `_sorani_`, `_spanish_`, `_swedish_`, `_thai_`, `_turkish_`, `_none_`
  - `unlike` (union oneOf)
    Used in combination with `like` to exclude documents that match a set of terms.
    A value or an array; each item is one of:
    - **string**
    - **LikeDocument**
      - `doc` (object)
        A document not present in the index.
      - `fields` (string[])
      - `_id` (string)
        ID of a document.
      - `_index` (string)
        Index of a document.
      - `per_field_analyzer` (map string to string)
        Overrides the default analyzer.
      - `routing` (union oneOf)
        One of: `string[]` or `string`
      - `version` (number)
      - `version_type` (enum · default: 'internal')
        

Supported values include:
  - `internal`: Use internal versioning that starts at 1 and increments with each update or delete.
  - `external`: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.
  - `external_gte`: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document.
NOTE: The `external_gte` version type is meant for special use cases and should be used with care.
If used incorrectly, it can result in loss of data.
        Values: `internal`, `external`, `external_gte`
  - `version` (number)
  - `version_type` (enum · default: 'internal')
    

Supported values include:
  - `internal`: Use internal versioning that starts at 1 and increments with each update or delete.
  - `external`: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.
  - `external_gte`: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document.
NOTE: The `external_gte` version type is meant for special use cases and should be used with care.
If used incorrectly, it can result in loss of data.
    Values: `internal`, `external`, `external_gte`
- `multi_match` (object)
  Enables you to search for a provided text, number, date or boolean value across multiple fields.
The provided text is analyzed before matching.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert the text in the query value into tokens.
  - `auto_generate_synonyms_phrase_query` (boolean · default: true)
    If `true`, match phrase queries are automatically created for multi-term synonyms.
  - `cutoff_frequency` (number)
  - `fields` (union oneOf)
    The fields to be queried.
Defaults to the `index.query.default_field` index settings, which in turn defaults to `*`.
    One of: `string[]` or `string`
  - `fuzziness` (number | string)
    Maximum edit distance allowed for matching.
  - `fuzzy_rewrite` (string)
    Method used to rewrite the query.
  - `fuzzy_transpositions` (boolean · default: true)
    If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).
Can be applied to the term subqueries constructed for all terms but the final term.
  - `lenient` (boolean · default: false)
    If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.
  - `max_expansions` (number · default: 50)
    Maximum number of terms to which the query will expand.
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
  - `operator` (enum · default: 'or')
    Boolean logic used to interpret text in the query value.
    Values: `and`, `AND`, `or`, `OR`
  - `prefix_length` (number · default: 0)
    Number of beginning characters left unchanged for fuzzy matching.
  - `query` (string)
    Text, number, boolean value or date you wish to find in the provided field.
  - `slop` (number · default: 0)
    Maximum number of positions allowed between matching tokens.
  - `tie_breaker` (number · default: 0)
    Determines how scores for each per-term blended query and scores across groups are combined.
  - `type` (enum · default: 'best_fields')
    How `the` multi_match query is executed internally.

Supported values include:
  - `best_fields`: Finds documents that match any field, but uses the `_score` from the best field.
  - `most_fields`: Finds documents that match any field and combines the `_score` from each field.
  - `cross_fields`: Treats fields with the same analyzer as though they were one big field.
Looks for each word in any field.
  - `phrase`: Runs a `match_phrase` query on each field and uses the `_score` from the best field.
  - `phrase_prefix`: Runs a `match_phrase_prefix` query on each field and uses the `_score` from the best field.
  - `bool_prefix`: Creates a `match_bool_prefix` query on each field and combines the `_score` from each field.
    Values: `best_fields`, `most_fields`, `cross_fields`, `phrase`, `phrase_prefix`, `bool_prefix`
  - `zero_terms_query` (enum · default: 'none')
    Indicates whether no documents are returned if the `analyzer` removes all tokens, such as when using a `stop` filter.

Supported values include:
  - `all`: Returns all documents, similar to a `match_all` query.
  - `none`: No documents are returned if the `analyzer` removes all tokens.
    Values: `all`, `none`
- `nested` (object)
  Wraps another query to search nested fields.
If an object matches the search, the nested query returns the root parent document.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `ignore_unmapped` (boolean · default: false)
    Indicates whether to ignore an unmapped path and not return any documents instead of an error.
  - `inner_hits` (object)
    If defined, each search hit will contain inner hits.
    Same fields as `inner_hits` in `has_child`
  - `path` (string)
    Path to the nested object you wish to search.
  - `query` (Query) — recursive
    Query you wish to run on nested objects in the path.
  - `score_mode` (enum · default: 'avg')
    How scores for matching child objects affect the root parent document’s relevance score.
    Values: `none`, `avg`, `sum`, `max`, `min`
- `parent_id` (object)
  Returns child documents joined to a specific parent document.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `id` (string)
    ID of the parent document.
  - `ignore_unmapped` (boolean · default: false)
    Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.
  - `type` (string)
    Name of the child relationship mapped for the `join` field.
- `percolate` (object)
  Matches queries stored in an index.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `document` (object)
    The source of the document being percolated.
  - `documents` (object[])
    An array of sources of the documents being percolated.
  - `field` (string)
    Field that holds the indexed queries. The field must use the `percolator` mapping type.
  - `id` (string)
    The ID of a stored document to percolate.
  - `index` (string)
    The index of a stored document to percolate.
  - `name` (string)
    The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified.
  - `preference` (string)
    Preference used to fetch document to percolate.
  - `routing` (string)
    Routing used to fetch document to percolate.
  - `version` (number)
    The expected version of a stored document to percolate.
- `pinned` (object)
  Promotes selected documents to rank higher than those matching a given query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `organic` (Query) — recursive
    Any choice of query used to rank documents which will be ranked below the "pinned" documents.
  - `ids` (string[])
    Document IDs listed in the order they are to appear in results.
Required if `docs` is not specified.
  - `docs` (object[])
    Documents listed in the order they are to appear in results.
Required if `ids` is not specified.
    - `_id` (string)
      The unique document ID.
    - `_index` (string)
      The index that contains the document.
- `prefix` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain a specific prefix in a provided field.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `rewrite` (string)
    Method used to rewrite the query.
  - `value` (string)
    Beginning characters of terms you wish to find in the provided field.
  - `case_insensitive` (boolean · default: false)
    Allows case insensitive matching of the value with the indexed field values when set to `true`.
Default is `false` which means the case sensitivity of matching depends on the underlying field’s mapping.
- `query_string` (object)
  Returns documents based on a provided query string, using a parser with a strict syntax.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `allow_leading_wildcard` (boolean · default: true)
    If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string.
  - `analyzer` (string)
    Analyzer used to convert text in the query string into tokens.
  - `analyze_wildcard` (boolean · default: false)
    If `true`, the query attempts to analyze wildcard terms in the query string.
  - `auto_generate_synonyms_phrase_query` (boolean · default: true)
    If `true`, match phrase queries are automatically created for multi-term synonyms.
  - `default_field` (string)
    Default field to search if no field is provided in the query string.
Supports wildcards (`*`).
Defaults to the `index.query.default_field` index setting, which has a default value of `*`.
  - `default_operator` (enum · default: 'or')
    Default boolean logic used to interpret text in the query string if no operators are specified.
    Values: `and`, `AND`, `or`, `OR`
  - `enable_position_increments` (boolean · default: true)
    If `true`, enable position increments in queries constructed from a `query_string` search.
  - `escape` (boolean · default: false)
  - `fields` (string[])
    Array of fields to search. Supports wildcards (`*`).
  - `fuzziness` (number | string)
    Maximum edit distance allowed for fuzzy matching.
  - `fuzzy_max_expansions` (number · default: 50)
    Maximum number of terms to which the query expands for fuzzy matching.
  - `fuzzy_prefix_length` (number · default: 0)
    Number of beginning characters left unchanged for fuzzy matching.
  - `fuzzy_rewrite` (string)
    Method used to rewrite the query.
  - `fuzzy_transpositions` (boolean · default: true)
    If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).
  - `lenient` (boolean · default: false)
    If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.
  - `max_determinized_states` (number · default: 10000)
    Maximum number of automaton states required for the query.
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
  - `phrase_slop` (number · default: 0)
    Maximum number of positions allowed between matching tokens for phrases.
  - `query` (string)
    Query string you wish to parse and use for search.
  - `quote_analyzer` (string)
    Analyzer used to convert quoted text in the query string into tokens.
For quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter.
  - `quote_field_suffix` (string)
    Suffix appended to quoted text in the query string.
You can use this suffix to use a different analysis method for exact matches.
  - `rewrite` (string)
    Method used to rewrite the query.
  - `tie_breaker` (number)
    How to combine the queries generated from the individual search terms in the resulting `dis_max` query.
  - `time_zone` (string)
    Coordinated Universal Time (UTC) offset or IANA time zone used to convert date values in the query string to UTC.
  - `type` (enum · default: 'best_fields')
    Determines how the query matches and scores documents.

Supported values include:
  - `best_fields`: Finds documents that match any field, but uses the `_score` from the best field.
  - `most_fields`: Finds documents that match any field and combines the `_score` from each field.
  - `cross_fields`: Treats fields with the same analyzer as though they were one big field.
Looks for each word in any field.
  - `phrase`: Runs a `match_phrase` query on each field and uses the `_score` from the best field.
  - `phrase_prefix`: Runs a `match_phrase_prefix` query on each field and uses the `_score` from the best field.
  - `bool_prefix`: Creates a `match_bool_prefix` query on each field and combines the `_score` from each field.
    Values: `best_fields`, `most_fields`, `cross_fields`, `phrase`, `phrase_prefix`, `bool_prefix`
- `range` (map string to oneOf · min properties: 1 · max properties: 1)
  Returns documents that contain terms within a provided range.
  Map values (union oneOf)
  One of:
  - **UntypedRangeQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `relation` (enum · default: intersects)
      Indicates how the range query matches values for `range` fields.

Supported values include:
  - `within`: Matches documents with a range field value entirely within the query’s range.
  - `contains`: Matches documents with a range field value that entirely contains the query’s range.
  - `intersects`: Matches documents with a range field value that intersects the query’s range.
      Values: `within`, `contains`, `intersects`
    - `gt` (object)
      Greater than.
    - `gte` (object)
      Greater than or equal to.
    - `lt` (object)
      Less than.
    - `lte` (object)
      Less than or equal to.
    - `format` (string)
      Date format used to convert `date` values in the query.
    - `time_zone` (string)
      Coordinated Universal Time (UTC) offset or IANA time zone used to convert `date` values in the query to UTC.
  - **DateRangeQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `relation` (enum · default: intersects)
      Indicates how the range query matches values for `range` fields.

Supported values include:
  - `within`: Matches documents with a range field value entirely within the query’s range.
  - `contains`: Matches documents with a range field value that entirely contains the query’s range.
  - `intersects`: Matches documents with a range field value that intersects the query’s range.
      Values: `within`, `contains`, `intersects`
    - `gt` (string)
      Greater than.
    - `gte` (string)
      Greater than or equal to.
    - `lt` (string)
      Less than.
    - `lte` (string)
      Less than or equal to.
    - `format` (string)
      Date format used to convert `date` values in the query.
    - `time_zone` (string)
      Coordinated Universal Time (UTC) offset or IANA time zone used to convert `date` values in the query to UTC.
  - **NumberRangeQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `relation` (enum · default: intersects)
      Indicates how the range query matches values for `range` fields.

Supported values include:
  - `within`: Matches documents with a range field value entirely within the query’s range.
  - `contains`: Matches documents with a range field value that entirely contains the query’s range.
  - `intersects`: Matches documents with a range field value that intersects the query’s range.
      Values: `within`, `contains`, `intersects`
    - `gt` (number)
      Greater than.
    - `gte` (number)
      Greater than or equal to.
    - `lt` (number)
      Less than.
    - `lte` (number)
      Less than or equal to.
  - **LongNumberRangeQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `relation` (enum · default: intersects)
      Indicates how the range query matches values for `range` fields.

Supported values include:
  - `within`: Matches documents with a range field value entirely within the query’s range.
  - `contains`: Matches documents with a range field value that entirely contains the query’s range.
  - `intersects`: Matches documents with a range field value that intersects the query’s range.
      Values: `within`, `contains`, `intersects`
    - `gt` (number)
      Greater than.
    - `gte` (number)
      Greater than or equal to.
    - `lt` (number)
      Less than.
    - `lte` (number)
      Less than or equal to.
  - **TermRangeQuery**
    - `boost` (number · default: 1)
      Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
    - `_name` (string)
    - `relation` (enum · default: intersects)
      Indicates how the range query matches values for `range` fields.

Supported values include:
  - `within`: Matches documents with a range field value entirely within the query’s range.
  - `contains`: Matches documents with a range field value that entirely contains the query’s range.
  - `intersects`: Matches documents with a range field value that intersects the query’s range.
      Values: `within`, `contains`, `intersects`
    - `gt` (string)
      Greater than.
    - `gte` (string)
      Greater than or equal to.
    - `lt` (string)
      Less than.
    - `lte` (string)
      Less than or equal to.
- `rank_feature` (object)
  Boosts the relevance score of documents based on the numeric value of a `rank_feature` or `rank_features` field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    `rank_feature` or `rank_features` field used to boost relevance scores.
  - `saturation` (object)
    Saturation function used to boost relevance scores based on the value of the rank feature `field`.
    - `pivot` (number)
      Configurable pivot value so that the result will be less than 0.5.
  - `log` (object)
    Logarithmic function used to boost relevance scores based on the value of the rank feature `field`.
    - `scaling_factor` (number)
      Configurable scaling factor.
  - `linear` (object)
    Linear function used to boost relevance scores based on the value of the rank feature `field`.
  - `sigmoid` (object)
    Sigmoid function used to boost relevance scores based on the value of the rank feature `field`.
    - `pivot` (number)
      Configurable pivot value so that the result will be less than 0.5.
    - `exponent` (number)
      Configurable Exponent.
- `regexp` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain terms matching a regular expression.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `case_insensitive` (boolean · default: false)
    Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`.
When `false`, case sensitivity of matching depends on the underlying field’s mapping.
  - `flags` (string)
    Enables optional operators for the regular expression.
  - `max_determinized_states` (number · default: 10000)
    Maximum number of automaton states required for the query.
  - `rewrite` (string)
    Method used to rewrite the query.
  - `value` (string)
    Regular expression for terms you wish to find in the provided field.
- `rule` (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `organic` (Query) — recursive
  - `ruleset_ids` (union string | string[])
  - `ruleset_id` (string)
  - `match_criteria` (object)
- `script` (object)
  Filters documents based on a provided script.
The script query is typically used in a filter context.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `script` (string)
    Contains a script to run as a query.
This script must return a boolean value, `true` or `false`.
- `script_score` (object)
  Uses a script to provide a custom score for returned documents.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `min_score` (number)
    Documents with a score lower than this floating point number are excluded from the search results.
  - `query` (Query) — recursive
    Query used to return documents.
  - `script` (string)
    Script used to compute the score of documents returned by the query.
Important: final relevance scores from the `script_score` query cannot be negative.
- `semantic` (object)
  A semantic query to semantic_text field types
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    The field to query, which must be a semantic_text field type
  - `query` (string)
    The query text
- `shape` (object)
  Queries documents that contain fields indexed using the `shape` type.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `ignore_unmapped` (boolean)
    When set to `true` the query ignores an unmapped field and will not match any documents.
- `simple_query_string` (object)
  Returns documents based on a provided query string, using a parser with a limited but fault-tolerant syntax.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `analyzer` (string)
    Analyzer used to convert text in the query string into tokens.
  - `analyze_wildcard` (boolean · default: false)
    If `true`, the query attempts to analyze wildcard terms in the query string.
  - `auto_generate_synonyms_phrase_query` (boolean · default: true)
    If `true`, the parser creates a match_phrase query for each multi-position token.
  - `default_operator` (enum · default: 'or')
    Default boolean logic used to interpret text in the query string if no operators are specified.
    Values: `and`, `AND`, `or`, `OR`
  - `fields` (string[])
    Array of fields you wish to search.
Accepts wildcard expressions.
You also can boost relevance scores for matches to particular fields using a caret (`^`) notation.
Defaults to the `index.query.default_field index` setting, which has a default value of `*`.
  - `flags` (union · default: ALL)
    List of enabled operators for the simple query string syntax.
    Values: `NONE`, `AND`, `NOT`, `OR`, `PREFIX`, `PHRASE`, `PRECEDENCE`, `ESCAPE`, `WHITESPACE`, `FUZZY`, `NEAR`, `SLOP`, `ALL`
  - `fuzzy_max_expansions` (number · default: 50)
    Maximum number of terms to which the query expands for fuzzy matching.
  - `fuzzy_prefix_length` (number · default: 0)
    Number of beginning characters left unchanged for fuzzy matching.
  - `fuzzy_transpositions` (boolean)
    If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).
  - `lenient` (boolean · default: false)
    If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.
  - `minimum_should_match` (number | string)
    Minimum number of clauses that must match for a document to be returned.
  - `query` (string)
    Query string in the simple query string syntax you wish to parse and use for search.
  - `quote_field_suffix` (string)
    Suffix appended to quoted text in the query string.
- `span_containing` (object)
  Returns matches which enclose another span query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `big` (object)
    Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
    - `span_containing` (object) — recursive
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      Same fields as `span_containing`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `big` in `span_containing`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `big` in `span_containing`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `big` in `span_containing`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `big` in `span_containing`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `big` in `span_containing`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `big` in `span_containing`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `big` in `span_containing`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `big` in `span_containing`
  - `little` (object)
    Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
    Same fields as `big` in `span_containing`
- `span_field_masking` (object)
  Wrapper to allow span queries to participate in composite single-field span queries by _lying_ about their search field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
  - `query` (object)
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `query` in `span_field_masking`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `query` in `span_field_masking`
    - `span_field_masking` (object) — recursive
      Allows queries like `span_near` or `span_or` across different fields.
      Same fields as `span_field_masking`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `query` in `span_field_masking`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `query` in `span_field_masking`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `query` in `span_field_masking`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `query` in `span_field_masking`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `query` in `span_field_masking`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `query` in `span_field_masking`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `query` in `span_field_masking`
- `span_first` (object)
  Matches spans near the beginning of a field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `end` (number)
    Controls the maximum end position permitted in a match.
  - `match` (object)
    Can be any other span type query.
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `match` in `span_first`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `match` in `span_first`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `match` in `span_first`
    - `span_first` (object) — recursive
      Accepts another span query whose matches must appear within the first N positions of the field.
      Same fields as `span_first`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `match` in `span_first`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `match` in `span_first`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `match` in `span_first`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `match` in `span_first`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `match` in `span_first`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `match` in `span_first`
- `span_multi` (object)
  Allows you to wrap a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query) as a `span` query, so it can be nested.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `match` (Query) — recursive
    Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
- `span_near` (object)
  Matches spans which are near one another.
You can specify `slop`, the maximum number of intervening unmatched positions, as well as whether matches are required to be in-order.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `clauses` (object[])
    Array of one or more other span type queries.
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `clauses` in `span_near`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `clauses` in `span_near`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `clauses` in `span_near`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `clauses` in `span_near`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object) — recursive
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      Same fields as `span_near`
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `clauses` in `span_near`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `clauses` in `span_near`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `clauses` in `span_near`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `clauses` in `span_near`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `clauses` in `span_near`
  - `in_order` (boolean)
    Controls whether matches are required to be in-order.
  - `slop` (number)
    Controls the maximum number of intervening unmatched positions permitted.
- `span_not` (object)
  Removes matches which overlap with another span query or which are within x tokens before (controlled by the parameter `pre`) or y tokens after (controlled by the parameter `post`) another span query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `dist` (number)
    The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
  - `exclude` (object)
    Span query whose matches must not overlap those returned.
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `exclude` in `span_not`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `exclude` in `span_not`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `exclude` in `span_not`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `exclude` in `span_not`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `exclude` in `span_not`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object) — recursive
      Wraps another span query, and excludes any documents which match that query.
      Same fields as `span_not`
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `exclude` in `span_not`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `exclude` in `span_not`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `exclude` in `span_not`
  - `include` (object)
    Span query whose matches are filtered.
    Same fields as `exclude` in `span_not`
  - `post` (number · default: 0)
    The number of tokens after the include span that can’t have overlap with the exclude span.
  - `pre` (number · default: 0)
    The number of tokens before the include span that can’t have overlap with the exclude span.
- `span_or` (object)
  Matches the union of its span clauses.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `clauses` (object[])
    Array of one or more other span type queries.
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `clauses` in `span_or`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `clauses` in `span_or`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `clauses` in `span_or`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `clauses` in `span_or`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `clauses` in `span_or`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `clauses` in `span_or`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `clauses` in `span_or`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object) — recursive
      Combines multiple span queries and returns documents which match any of the specified queries.
      Same fields as `span_or`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object)
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `clauses` in `span_or`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
        Same fields as `clauses` in `span_or`
- `span_term` (map string to object · min properties: 1 · max properties: 1)
  Matches spans containing a term.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `value` (union oneOf)
    One of: `number` or `string` or `boolean`
- `span_within` (object)
  Returns matches which are enclosed inside another span query.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `big` (object)
    Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
    - `span_containing` (object)
      Accepts a list of span queries, but only returns those spans which also match a second span query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `big` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `big` in `span_within`
      - `little` (object) — recursive
        Can be any span query.
Matching spans from `big` that contain matches from `little` are returned.
        Same fields as `big` in `span_within`
    - `span_field_masking` (object)
      Allows queries like `span_near` or `span_or` across different fields.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `field` (string)
      - `query` (object) — recursive
        Same fields as `big` in `span_within`
    - `span_first` (object)
      Accepts another span query whose matches must appear within the first N positions of the field.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `end` (number)
        Controls the maximum end position permitted in a match.
      - `match` (object) — recursive
        Can be any other span type query.
        Same fields as `big` in `span_within`
    - `span_gap` (object)
    - `span_multi` (object)
      Wraps a `term`, `range`, `prefix`, `wildcard`, `regexp`, or `fuzzy` query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `match` (Query) — recursive
        Should be a multi term query (one of `wildcard`, `fuzzy`, `prefix`, `range`, or `regexp` query).
    - `span_near` (object)
      Accepts multiple span queries whose matches must be within the specified distance of each other, and possibly in the same order.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `big` in `span_within`
      - `in_order` (boolean)
        Controls whether matches are required to be in-order.
      - `slop` (number)
        Controls the maximum number of intervening unmatched positions permitted.
    - `span_not` (object)
      Wraps another span query, and excludes any documents which match that query.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `dist` (number)
        The number of tokens from within the include span that can’t have overlap with the exclude span.
Equivalent to setting both `pre` and `post`.
      - `exclude` (object) — recursive
        Span query whose matches must not overlap those returned.
        Same fields as `big` in `span_within`
      - `include` (object) — recursive
        Span query whose matches are filtered.
        Same fields as `big` in `span_within`
      - `post` (number · default: 0)
        The number of tokens after the include span that can’t have overlap with the exclude span.
      - `pre` (number · default: 0)
        The number of tokens before the include span that can’t have overlap with the exclude span.
    - `span_or` (object)
      Combines multiple span queries and returns documents which match any of the specified queries.
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `clauses` (object[]) — recursive
        Array of one or more other span type queries.
        Same fields as `big` in `span_within`
    - `span_term` (map string to object · min properties: 1 · max properties: 1)
      The equivalent of the `term` query but for use with other span queries.
      Map values (object)
      - `boost` (number · default: 1)
        Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
      - `_name` (string)
      - `value` (union oneOf)
        One of: `number` or `string` or `boolean`
    - `span_within` (object) — recursive
      The result from a single span query is returned as long is its span falls within the spans returned by a list of other span queries.
      Same fields as `span_within`
  - `little` (object)
    Can be any span query.
Matching spans from `little` that are enclosed within `big` are returned.
    Same fields as `big` in `span_within`
- `sparse_vector` (object)
  Using input query vectors or a natural language processing model to convert a query into a list of token-weight pairs, queries against a sparse vector field.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `field` (string)
    The name of the field that contains the token-weight pairs to be searched against.
This field must be a mapped sparse_vector field.
  - `query` (string)
    The query text you want to use for search.
If inference_id is specified, query must also be specified.
  - `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.
  - `query_vector` (map string to number)
    Dictionary of precomputed sparse vectors and their associated weights.
Only one of inference_id or query_vector may be supplied in a request.
  - `inference_id` (string)
    The inference ID to use to convert the query text into token-weight pairs.
It must be the same inference ID that was used to create the tokens from the input text.
Only one of inference_id and query_vector is allowed.
If inference_id is specified, query must also be specified.
Only one of inference_id or query_vector may be supplied in a request.
- `term` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain an exact term in a provided field.
To return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `value` (union oneOf)
    Term you wish to find in the provided field.
    One of: `number` or `string` or `boolean`
  - `case_insensitive` (boolean · default: false)
    Allows case insensitive matching of the value with the indexed field values when set to `true`.
When `false`, the case sensitivity of matching depends on the underlying field’s mapping.
- `terms` (object)
  Returns documents that contain one or more exact terms in a provided field.
To return a document, one or more terms must exactly match a field value, including whitespace and capitalization.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
- `terms_set` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain a minimum number of exact terms in a provided field.
To return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `minimum_should_match` (number | string)
    Specification describing number of matching terms required to return a document.
  - `minimum_should_match_field` (string)
    Numeric field containing the number of matching terms required to return a document.
  - `minimum_should_match_script` (string)
    Custom script containing the number of matching terms required to return a document.
  - `terms` (union oneOf[])
    Array of terms you wish to find in the provided field.
    One of: `number` or `string` or `boolean`
- `text_expansion` (map string to object · min properties: 1 · max properties: 1)
  Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `model_id` (string)
    The text expansion NLP model to use
  - `model_text` (string)
    The query text
  - `pruning_config` (object)
    Token pruning configurations
    - `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.
- `weighted_tokens` (map string to object · min properties: 1 · max properties: 1)
  Supports returning text_expansion query results by sending in precomputed tokens with the query.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `tokens` (union oneOf)
    The tokens representing this query
    One of: `string to number[]` or `string to number`
  - `pruning_config` (object)
    Token pruning configurations
    - `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.
- `wildcard` (map string to object · min properties: 1 · max properties: 1)
  Returns documents that contain terms matching a wildcard pattern.
  Map values (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `case_insensitive` (boolean)
    Allows case insensitive matching of the pattern with the indexed field values when set to true. Default is false which means the case sensitivity of matching depends on the underlying field’s mapping.
  - `rewrite` (string)
    Method used to rewrite the query.
  - `value` (string)
    Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set.
  - `wildcard` (string)
    Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set.
- `wrapper` (object)
  A query that accepts any other query as base64 encoded string.
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `query` (string)
    A base64 encoded query.
The binary data format can be any of JSON, YAML, CBOR or SMILE encodings
- `type` (object)
  - `boost` (number · default: 1)
    Floating point number used to decrease or increase the relevance scores of the query.
Boost values are relative to the default value of 1.0.
A boost value between 0 and 1.0 decreases the relevance score.
A value greater than 1.0 increases the relevance score.
  - `_name` (string)
  - `value` (string)

