Create a transform Generally available; Added in 7.2.0

PUT /_transform/{transform_id}

Creates a transform.

A transform copies data from source indices, transforms it, and persists it into an entity-centric destination index. You can also think of the destination index as a two-dimensional tabular data structure (known as a data frame). The ID for each document in the data frame is generated from a hash of the entity, so there is a unique row per entity.

You must choose either the latest or pivot method for your transform; you cannot use both in a single transform. If you choose to use the pivot method for your transform, the entities are defined by the set of group_by fields in the pivot object. If you choose to use the latest method, the entities are defined by the unique_key field values in the latest object.

You must have create_index, index, and read privileges on the destination index and read and view_index_metadata privileges on the source indices. When Elasticsearch security features are enabled, the transform remembers which roles the user that created it had at the time of creation and uses those same roles. If those roles do not have the required privileges on the source and destination indices, the transform fails when it attempts unauthorized operations.

NOTE: You must use Kibana or this API to create a transform. Do not add a transform directly into any .transform-internal* indices using the Elasticsearch index API. If Elasticsearch security features are enabled, do not give users any privileges on .transform-internal* indices. If you used transforms prior to 7.5, also do not give users any privileges on .data-frame-internal* indices. ##Required authorization

  • Index privileges: create_index,read,index,view_index_metadata* Cluster privileges: manage_transform

Path parameters

  • transform_id string Required

    Identifier for the transform. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It has a 64 character limit and must start and end with alphanumeric characters.

Query parameters

  • defer_validation boolean

    When the transform is created, a series of validations occur to ensure its success. For example, there is a check for the existence of the source indices and a check that the destination index is not part of the source index pattern. You can use this parameter to skip the checks, for example when the source index does not exist until after the transform is created. The validations are always run when you start the transform, however, with the exception of privilege checks.

  • timeout string

    Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

    Values are -1 or 0.

application/json

Body Required

  • dest object Required
    Hide dest attributes Show dest attributes object
    • index string
    • pipeline string

      The unique identifier for an ingest pipeline.

  • description string

    Free text description of the transform.

  • frequency string

    A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

  • latest object
    Hide latest attributes Show latest attributes object
    • sort string Required

      Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

    • unique_key array[string] Required

      Specifies an array of one or more fields that are used to group the data.

  • _meta object
    Hide _meta attribute Show _meta attribute object
    • * object Additional properties
  • pivot object
    Hide pivot attributes Show pivot attributes object
    • aggregations object

      Defines how to aggregate the grouped data. The following aggregations are currently supported: average, bucket script, bucket selector, cardinality, filter, geo bounds, geo centroid, geo line, max, median absolute deviation, min, missing, percentiles, rare terms, scripted metric, stats, sum, terms, top metrics, value count, weighted average.

    • group_by object

      Defines how to group the data. More than one grouping can be defined per pivot. The following groupings are currently supported: date histogram, geotile grid, histogram, terms.

      Hide group_by attribute Show group_by attribute object
      • * object Additional properties
        Hide * attributes Show * attributes object
        • date_histogram object
          Hide date_histogram attributes Show date_histogram attributes object
          • calendar_interval string

            Values are second, 1s, minute, 1m, hour, 1h, day, 1d, week, 1w, month, 1M, quarter, 1q, year, or 1y.

          • extended_bounds object
            Hide extended_bounds attributes Show extended_bounds attributes object
          • hard_bounds object
            Hide hard_bounds attributes Show hard_bounds attributes object
          • field string

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • fixed_interval string

            A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

          • format string

            The date format used to format key_as_string in the response. If no format is specified, the first date format specified in the field mapping is used.

          • interval string

            A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

          • min_doc_count number

            Only returns buckets that have min_doc_count number of documents. By default, all buckets between the first bucket that matches documents and the last one are returned.

          • missing string
          • offset string

            A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

          • params object
            Hide params attribute Show params attribute object
            • * object Additional properties
          • script object
            Hide script attributes Show script attributes object
            • source
            • id string
            • params object

              Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            • lang
            • options object
          • time_zone string
          • keyed boolean

            Set to true to associate a unique string key with each bucket and return the ranges as a hash rather than an array.

        • geotile_grid object
          Hide geotile_grid attributes Show geotile_grid attributes object
          • field string

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • precision number
          • shard_size number

            Allows for more accurate counting of the top cells returned in the final result the aggregation. Defaults to returning max(10,(size x number-of-shards)) buckets from each shard.

          • size number

            The maximum number of buckets to return.

          • bounds object

            A geo bounding box. It can be represented in various ways:

            • as 4 top/bottom/left/right coordinates
            • as 2 top_left / bottom_right points
            • as 2 top_right / bottom_left points
            • as a WKT bounding box
        • histogram object
          Hide histogram attributes Show histogram attributes object
          • extended_bounds object
            Hide extended_bounds attributes Show extended_bounds attributes object
            • max number

              Maximum value for the bound.

            • min number

              Minimum value for the bound.

          • hard_bounds object
            Hide hard_bounds attributes Show hard_bounds attributes object
            • max number

              Maximum value for the bound.

            • min number

              Minimum value for the bound.

          • field string

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • interval number

            The interval for the buckets. Must be a positive decimal.

          • min_doc_count number

            Only returns buckets that have min_doc_count number of documents. By default, the response will fill gaps in the histogram with empty buckets.

          • missing number

            The value to apply to documents that do not have a value. By default, documents without a value are ignored.

          • offset number

            By default, the bucket keys start with 0 and then continue in even spaced steps of interval. The bucket boundaries can be shifted by using the offset option.

          • script object
            Hide script attributes Show script attributes object
            • source
            • id string
            • params object

              Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            • lang
            • options object
          • format string
          • keyed boolean

            If true, returns buckets as a hash instead of an array, keyed by the bucket keys.

        • terms object
          Hide terms attributes Show terms attributes object
          • collect_mode string

            Values are depth_first or breadth_first.

          • exclude string | array[string]

          • execution_hint string

            Values are map, global_ordinals, global_ordinals_hash, or global_ordinals_low_cardinality.

          • field string

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • min_doc_count number

            Only return values that are found in more than min_doc_count hits.

          • missing_order string

            Values are first, last, or default.

          • missing_bucket boolean
          • value_type string

            Coerced unmapped fields into the specified type.

          • script object
            Hide script attributes Show script attributes object
            • source
            • id string
            • params object

              Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            • lang
            • options object
          • shard_min_doc_count number

            Regulates the certainty a shard has if the term should actually be added to the candidate list or not with respect to the min_doc_count. Terms will only be considered if their local shard frequency within the set is higher than the shard_min_doc_count.

          • shard_size number

            The number of candidate terms produced by each shard. By default, shard_size will be automatically estimated based on the number of shards and the size parameter.

          • show_term_doc_count_error boolean

            Set to true to return the doc_count_error_upper_bound, which is an upper bound to the error on the doc_count returned by each shard.

          • size number

            The number of buckets returned out of the overall terms list.

          • format string
  • retention_policy object
    Hide retention_policy attribute Show retention_policy attribute object
    • time object
      Hide time attributes Show time attributes object
      • field string Required

        Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

      • max_age string Required

        A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

  • settings object
    Hide settings attributes Show settings attributes object
    • align_checkpoints boolean

      Specifies whether the transform checkpoint ranges should be optimized for performance. Such optimization can align checkpoint ranges with the date histogram interval when date histogram is specified as a group source in the transform config. As a result, less document updates in the destination index will be performed thus improving overall performance.

    • dates_as_epoch_millis boolean

      Defines if dates in the ouput should be written as ISO formatted string or as millis since epoch. epoch_millis was the default for transforms created before version 7.11. For compatible output set this value to true.

    • deduce_mappings boolean

      Specifies whether the transform should deduce the destination index mappings from the transform configuration.

    • docs_per_second number

      Specifies a limit on the number of input documents per second. This setting throttles the transform by adding a wait time between search requests. The default value is null, which disables throttling.

    • max_page_search_size number

      Defines the initial page size to use for the composite aggregation for each checkpoint. If circuit breaker exceptions occur, the page size is dynamically adjusted to a lower value. The minimum value is 10 and the maximum is 65,536.

    • unattended boolean Generally available; Added in 8.5.0

      If true, the transform runs in unattended mode. In unattended mode, the transform retries indefinitely in case of an error which means the transform never fails. Setting the number of retries other than infinite fails in validation.

  • source object Required
    Hide source attributes Show source attributes object
    • index string | array[string] Required
    • query object

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

      External documentation
      Hide query attributes Show query attributes object
      • bool object
        Hide bool attributes Show bool attributes object
        • boost number

          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 object | array[object]

          The clause (query) must appear in matching documents. However, unlike must, the score of the query will be ignored.

          One of:

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

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

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

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • must object | array[object]

          The clause (query) must appear in matching documents and will contribute to the score.

          One of:

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

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

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

        • must_not object | array[object]

          The clause (query) must not appear in the matching documents. Because scoring is ignored, a score of 0 is returned for all documents.

          One of:

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

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

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

        • should object | array[object]

          The clause (query) should appear in the matching document.

          One of:

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

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

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

      • boosting object
        Hide boosting attributes Show boosting attributes object
        • boost number

          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 Required

          Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the negative query.

        • negative object Required

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

        • positive object Required

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

      • common object Deprecated
      • combined_fields object
        Hide combined_fields attributes Show combined_fields attributes object
        • boost number

          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 array[string] Required

          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 Required

          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

          If true, match phrase queries are automatically created for multi-term synonyms.

        • operator string

          Values are or or and.

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • zero_terms_query string

          Values are none or all.

      • constant_score object
        Hide constant_score attributes Show constant_score attributes object
        • boost number

          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 object Required

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

      • dis_max object
        Hide dis_max attributes Show dis_max attributes object
        • boost number

          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 array[object] Required

          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.

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

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

        • tie_breaker number

          Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.

      • distance_feature object

        One of:
      • exists object
        Hide exists attributes Show exists attributes object
        • boost number

          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 Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

      • function_score object
        Hide function_score attributes Show function_score attributes object
        • boost number

          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 string

          Values are multiply, replace, sum, avg, max, or min.

        • functions array[object]

          One or more functions that compute a new score for each document returned by the query.

        • 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 object

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

        • score_mode string

          Values are multiply, sum, avg, first, max, or min.

      • fuzzy object

        Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.

        External documentation
      • geo_bounding_box object
        Hide geo_bounding_box attributes Show geo_bounding_box attributes object
        • boost number

          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 string

          Values are memory or indexed.

        • validation_method string

          Values are coerce, ignore_malformed, or strict.

        • ignore_unmapped boolean

          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
        Hide geo_distance attributes Show geo_distance attributes object
        • boost number

          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 Required
        • distance_type string

          Values are arc or plane.

        • validation_method string

          Values are coerce, ignore_malformed, or strict.

        • ignore_unmapped boolean

          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 object

        Matches geo_point and geo_shape values that intersect a grid cell from a GeoGrid aggregation.

      • geo_polygon object
        Hide geo_polygon attributes Show geo_polygon attributes object
        • boost number

          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 string

          Values are coerce, ignore_malformed, or strict.

        • ignore_unmapped boolean
      • geo_shape object
        Hide geo_shape attributes Show geo_shape attributes object
        • boost number

          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

          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
        Hide has_child attributes Show has_child attributes object
        • boost number

          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

          Indicates whether to ignore an unmapped type and not return any documents instead of an error.

        • inner_hits object
          Hide inner_hits attributes Show inner_hits attributes object
          • name string
          • size number

            The maximum number of hits to return per inner_hits.

          • from number

            Inner hit starting document offset.

          • collapse object
            Hide collapse attributes Show collapse attributes object
            • field string Required

              Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

            • inner_hits
            • max_concurrent_group_searches number

              The number of concurrent requests allowed to retrieve the inner_hits per group

            • collapse object
          • docvalue_fields array[object]
          • explain boolean
          • highlight object
          • ignore_unmapped boolean
          • script_fields object
            Hide script_fields attribute Show script_fields attribute object
            • * object Additional properties
          • seq_no_primary_term boolean
          • fields array[string]

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • sort array[string | object]
          • _source boolean | object

            Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.

          • stored_fields string | array[string]
          • track_scores boolean
          • 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 object Required

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

        • score_mode string

          Values are none, avg, sum, max, or min.

        • type string Required
      • has_parent object
        Hide has_parent attributes Show has_parent attributes object
        • boost number

          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

          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
          Hide inner_hits attributes Show inner_hits attributes object
          • name string
          • size number

            The maximum number of hits to return per inner_hits.

          • from number

            Inner hit starting document offset.

          • collapse object
            Hide collapse attributes Show collapse attributes object
            • field string Required

              Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

            • inner_hits
            • max_concurrent_group_searches number

              The number of concurrent requests allowed to retrieve the inner_hits per group

            • collapse object
          • docvalue_fields array[object]
          • explain boolean
          • highlight object
          • ignore_unmapped boolean
          • script_fields object
            Hide script_fields attribute Show script_fields attribute object
            • * object Additional properties
          • seq_no_primary_term boolean
          • fields array[string]

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • sort array[string | object]
          • _source boolean | object

            Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.

          • stored_fields string | array[string]
          • track_scores boolean
          • version boolean
        • parent_type string Required
        • query object Required

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

        • score boolean

          Indicates whether the relevance score of a matching parent document is aggregated into its child documents.

      • ids object
        Hide ids attributes Show ids attributes object
        • boost number

          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 string | array[string]

      • intervals object

        Returns documents based on the order and proximity of matching terms.

        External documentation
      • knn object
        Hide knn attributes Show knn attributes object
        • boost number

          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 Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • query_vector array[number]
        • query_vector_builder object
          Hide query_vector_builder attribute Show query_vector_builder attribute object
          • text_embedding object
            Hide text_embedding attributes Show text_embedding attributes object
            • model_id string Required
            • model_text string Required
        • num_candidates number

          The number of nearest neighbor candidates to consider per shard

        • k number

          The final number of nearest neighbors to return as top hits

        • filter object | array[object]

          Filters for the kNN search query

          One of:

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

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

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

        • similarity number

          The minimum similarity for a vector to be considered a match

        • rescore_vector object
          Hide rescore_vector attribute Show rescore_vector attribute object
          • oversample number Required

            Applies the specified oversample factor to k on the approximate kNN search

      • match object

        Returns documents that match a provided text, number, date or boolean value. The provided text is analyzed before matching.

        External documentation
      • match_all object
        Hide match_all attributes Show match_all attributes object
        • boost number

          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 object

        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.

        External documentation
      • match_none object
        Hide match_none attributes Show match_none attributes object
        • boost number

          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 object

        Analyzes the text and creates a phrase query out of the analyzed text.

        External documentation
      • match_phrase_prefix object

        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.

        External documentation
      • more_like_this object
        Hide more_like_this attributes Show more_like_this attributes object
        • boost number

          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.

          External documentation
        • boost_terms number

          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

          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 array[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

          Specifies whether the input documents should also be included in the search results returned.

        • like string | object | array[string | object]

          Specifies free form text and/or a single or multiple documents for which you want to find similar documents.

          One of:

          Text that we want similar documents for or a lookup to a document's field for the text.

        • max_doc_freq number

          The maximum document frequency above which the terms are ignored from the input document.

        • max_query_terms number

          The maximum number of query terms that can be selected.

        • max_word_length number

          The maximum word length above which the terms are ignored. Defaults to unbounded (0).

        • min_doc_freq number

          The minimum document frequency below which the terms are ignored from the input document.

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • min_term_freq number

          The minimum term frequency below which the terms are ignored from the input document.

        • min_word_length number

          The minimum word length below which the terms are ignored.

        • routing string
        • stop_words string | array[string]

          Language value, such as arabic or thai. Defaults to english. Each language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words. Also accepts an array of stop words.

          One of:

          Values are _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_, or _none_.

        • unlike string | object | array[string | object]

          Used in combination with like to exclude documents that match a set of terms.

          One of:

          Text that we want similar documents for or a lookup to a document's field for the text.

        • version number
        • version_type string

          Values are internal, external, external_gte, or force.

      • multi_match object
        Hide multi_match attributes Show multi_match attributes object
        • boost number

          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

          If true, match phrase queries are automatically created for multi-term synonyms.

        • cutoff_frequency number Deprecated
        • fields string | array[string]
        • fuzziness string | number

        • fuzzy_rewrite string
        • fuzzy_transpositions boolean

          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

          If true, format-based errors, such as providing a text query value for a numeric field, are ignored.

        • max_expansions number

          Maximum number of terms to which the query will expand.

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • operator string

          Values are and, AND, or, or OR.

        • prefix_length number

          Number of beginning characters left unchanged for fuzzy matching.

        • query string Required

          Text, number, boolean value or date you wish to find in the provided field.

        • slop number

          Maximum number of positions allowed between matching tokens.

        • tie_breaker number

          Determines how scores for each per-term blended query and scores across groups are combined.

        • type string

          Values are best_fields, most_fields, cross_fields, phrase, phrase_prefix, or bool_prefix.

        • zero_terms_query string

          Values are all or none.

      • nested object
        Hide nested attributes Show nested attributes object
        • boost number

          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

          Indicates whether to ignore an unmapped path and not return any documents instead of an error.

        • inner_hits object
          Hide inner_hits attributes Show inner_hits attributes object
          • name string
          • size number

            The maximum number of hits to return per inner_hits.

          • from number

            Inner hit starting document offset.

          • collapse object
            Hide collapse attributes Show collapse attributes object
            • field string Required

              Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

            • inner_hits
            • max_concurrent_group_searches number

              The number of concurrent requests allowed to retrieve the inner_hits per group

            • collapse object
          • docvalue_fields array[object]
          • explain boolean
          • highlight object
          • ignore_unmapped boolean
          • script_fields object
            Hide script_fields attribute Show script_fields attribute object
            • * object Additional properties
          • seq_no_primary_term boolean
          • fields array[string]

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • sort array[string | object]
          • _source boolean | object

            Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.

          • stored_fields string | array[string]
          • track_scores boolean
          • version boolean
        • path string Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • query object Required

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

        • score_mode string

          Values are none, avg, sum, max, or min.

      • parent_id object
        Hide parent_id attributes Show parent_id attributes object
        • boost number

          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
        • ignore_unmapped boolean

          Indicates whether to ignore an unmapped type and not return any documents instead of an error.

        • type string
      • percolate object
        Hide percolate attributes Show percolate attributes object
        • boost number

          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 array[object]

          An array of sources of the documents being percolated.

        • field string Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • id string
        • index string
        • 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
        • version number
      • pinned object
        Hide pinned attributes Show pinned attributes object
        • boost number

          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 object Required

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

        • ids array[string]

          Document IDs listed in the order they are to appear in results. Required if docs is not specified.

        • docs array[object]

          Documents listed in the order they are to appear in results. Required if ids is not specified.

      • prefix object

        Returns documents that contain a specific prefix in a provided field.

        External documentation
      • query_string object
        Hide query_string attributes Show query_string attributes object
        • boost number

          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

          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

          If true, the query attempts to analyze wildcard terms in the query string.

        • auto_generate_synonyms_phrase_query boolean

          If true, match phrase queries are automatically created for multi-term synonyms.

        • default_field string

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • default_operator string

          Values are and, AND, or, or OR.

        • enable_position_increments boolean

          If true, enable position increments in queries constructed from a query_string search.

        • escape boolean
        • fields array[string]

          Array of fields to search. Supports wildcards (*).

        • fuzziness string | number

        • fuzzy_max_expansions number

          Maximum number of terms to which the query expands for fuzzy matching.

        • fuzzy_prefix_length number

          Number of beginning characters left unchanged for fuzzy matching.

        • fuzzy_rewrite string
        • fuzzy_transpositions boolean

          If true, edits for fuzzy matching include transpositions of two adjacent characters (for example, ab to ba).

        • lenient boolean

          If true, format-based errors, such as providing a text value for a numeric field, are ignored.

        • max_determinized_states number

          Maximum number of automaton states required for the query.

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • phrase_slop number

          Maximum number of positions allowed between matching tokens for phrases.

        • query string Required

          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
        • tie_breaker number

          How to combine the queries generated from the individual search terms in the resulting dis_max query.

        • time_zone string
        • type string

          Values are best_fields, most_fields, cross_fields, phrase, phrase_prefix, or bool_prefix.

      • range object

        Returns documents that contain terms within a provided range.

        External documentation
      • rank_feature object
        Hide rank_feature attributes Show rank_feature attributes object
        • boost number

          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 Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • saturation object
          Hide saturation attribute Show saturation attribute object
          • pivot number

            Configurable pivot value so that the result will be less than 0.5.

        • log object
          Hide log attribute Show log attribute object
          • scaling_factor number Required

            Configurable scaling factor.

        • linear object
        • sigmoid object
          Hide sigmoid attributes Show sigmoid attributes object
          • pivot number Required

            Configurable pivot value so that the result will be less than 0.5.

          • exponent number Required

            Configurable Exponent.

      • regexp object

        Returns documents that contain terms matching a regular expression.

        External documentation
      • rule object
        Hide rule attributes Show rule attributes object
        • boost number

          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 object Required

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

        • ruleset_ids string | array[string]

        • ruleset_id string
        • match_criteria object Required
      • script object
        Hide script attributes Show script attributes object
        • boost number

          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 object Required
          Hide script attributes Show script attributes object
          • id string
          • params object

            Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            Hide params attribute Show params attribute object
            • * object Additional properties
          • lang string

            Any of:

            Values are painless, expression, mustache, or java.

          • options object
            Hide options attribute Show options attribute object
            • * string Additional properties
      • script_score object
        Hide script_score attributes Show script_score attributes object
        • boost number

          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 object Required

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

        • script object Required
          Hide script attributes Show script attributes object
          • id string
          • params object

            Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            Hide params attribute Show params attribute object
            • * object Additional properties
          • lang string

            Any of:

            Values are painless, expression, mustache, or java.

          • options object
            Hide options attribute Show options attribute object
            • * string Additional properties
      • semantic object
        Hide semantic attributes Show semantic attributes object
        • boost number

          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 Required

          The field to query, which must be a semantic_text field type

        • query string Required

          The query text

      • shape object
        Hide shape attributes Show shape attributes object
        • boost number

          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
        Hide simple_query_string attributes Show simple_query_string attributes object
        • boost number

          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

          If true, the query attempts to analyze wildcard terms in the query string.

        • auto_generate_synonyms_phrase_query boolean

          If true, the parser creates a match_phrase query for each multi-position token.

        • default_operator string

          Values are and, AND, or, or OR.

        • fields array[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 string

          Query flags can be either a single flag or a combination of flags, e.g. OR|AND|PREFIX

          One of:

          Query flags can be either a single flag or a combination of flags, e.g. OR|AND|PREFIX

          Values are NONE, AND, NOT, OR, PREFIX, PHRASE, PRECEDENCE, ESCAPE, WHITESPACE, FUZZY, NEAR, SLOP, or ALL.

          Query flags can be either a single flag or a combination of flags, e.g. OR|AND|PREFIX

        • fuzzy_max_expansions number

          Maximum number of terms to which the query expands for fuzzy matching.

        • fuzzy_prefix_length number

          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

          If true, format-based errors, such as providing a text value for a numeric field, are ignored.

        • minimum_should_match number | string

          The minimum number of terms that should match as integer, percentage or range

        • query string Required

          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
        Hide span_containing attributes Show span_containing attributes object
        • boost number

          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 Required
          Hide big attributes Show big attributes object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
        • little object Required
          Hide little attributes Show little attributes object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
      • span_field_masking object
        Hide span_field_masking attributes Show span_field_masking attributes object
        • boost number

          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 Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • query object Required
          Hide query attributes Show query attributes object
          • span_containing object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
      • span_first object
        Hide span_first attributes Show span_first attributes object
        • boost number

          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 Required

          Controls the maximum end position permitted in a match.

        • match object Required
          Hide match attributes Show match attributes object
          • span_containing object
          • span_field_masking object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
      • span_multi object
        Hide span_multi attributes Show span_multi attributes object
        • boost number

          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 object Required

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

      • span_near object
        Hide span_near attributes Show span_near attributes object
        • boost number

          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 array[object] Required

          Array of one or more other span type queries.

          Hide clauses attributes Show clauses attributes object
          • span_containing
          • span_field_masking
          • span_first
          • span_gap object

            Can only be used as a clause in a span_near query.

          • span_multi
          • span_near
          • span_not
          • span_or
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • 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
        Hide span_not attributes Show span_not attributes object
        • boost number

          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 Required
          Hide exclude attributes Show exclude attributes object
          • span_containing object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
        • include object Required
          Hide include attributes Show include attributes object
          • span_containing object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within object
        • post number

          The number of tokens after the include span that can’t have overlap with the exclude span.

        • pre number

          The number of tokens before the include span that can’t have overlap with the exclude span.

      • span_or object
        Hide span_or attributes Show span_or attributes object
        • boost number

          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 array[object] Required

          Array of one or more other span type queries.

          Hide clauses attributes Show clauses attributes object
          • span_containing
          • span_field_masking
          • span_first
          • span_gap object

            Can only be used as a clause in a span_near query.

          • span_multi
          • span_near
          • span_not
          • span_or
          • span_term object

            The equivalent of the term query but for use with other span queries.

          • span_within
      • span_term object

        Matches spans containing a term.

        External documentation
      • span_within object
        Hide span_within attributes Show span_within attributes object
        • boost number

          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 Required
          Hide big attributes Show big attributes object
          • span_containing object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

        • little object Required
          Hide little attributes Show little attributes object
          • span_containing object
          • span_field_masking object
          • span_first object
          • span_gap object

            Can only be used as a clause in a span_near query.

            Hide span_gap attribute Show span_gap attribute object
            • * number Additional properties
          • span_multi object
          • span_near object
          • span_not object
          • span_or object
          • span_term object

            The equivalent of the term query but for use with other span queries.

      • sparse_vector object
        Hide sparse_vector attributes Show sparse_vector attributes object
        • boost number

          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 Required

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • query string

          The query text you want to use for search. If inference_id is specified, query must also be specified.

        • prune boolean Technical preview; Added in 8.15.0

          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
          Hide pruning_config attributes Show pruning_config attributes object
          • tokens_freq_ratio_threshold number

            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

            Tokens whose weight is less than this threshold are considered nonsignificant and pruned.

          • only_score_pruned_tokens boolean

            Whether to only score pruned tokens, vs only scoring kept tokens.

        • query_vector object

          Dictionary of precomputed sparse vectors and their associated weights. Only one of inference_id or query_vector may be supplied in a request.

          Hide query_vector attribute Show query_vector attribute object
          • * number Additional properties
        • inference_id string
      • term object

        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.

        External documentation
      • terms object
        Hide terms attributes Show terms attributes object
        • boost number

          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 object

        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.

        External documentation
      • text_expansion object Deprecated Generally available; Added in 8.8.0

        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.

        External documentation
      • weighted_tokens object Deprecated Generally available; Added in 8.13.0

        Supports returning text_expansion query results by sending in precomputed tokens with the query.

        External documentation
      • wildcard object

        Returns documents that contain terms matching a wildcard pattern.

        External documentation
      • wrapper object
        Hide wrapper attributes Show wrapper attributes object
        • boost number

          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 Required

          A base64 encoded query. The binary data format can be any of JSON, YAML, CBOR or SMILE encodings

      • type object
        Hide type attributes Show type attributes object
        • boost number

          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 Required
    • runtime_mappings object
      Hide runtime_mappings attribute Show runtime_mappings attribute object
      • * object Additional properties
        Hide * attributes Show * attributes object
        • fields object

          For type composite

          Hide fields attribute Show fields attribute object
          • * object Additional properties
            Hide * attribute Show * attribute object
            • type string Required

              Values are boolean, composite, date, double, geo_point, geo_shape, ip, keyword, long, or lookup.

        • fetch_fields array[object]

          For type lookup

          Hide fetch_fields attributes Show fetch_fields attributes object
          • field string Required

            Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

          • format string
        • format string

          A custom format for date type runtime fields.

        • input_field string

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • target_field string

          Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

        • target_index string
        • script object
          Hide script attributes Show script attributes object
          • source string | object

            One of:
          • id string
          • params object

            Specifies any named parameters that are passed into the script as variables. Use parameters instead of hard-coded values to decrease compile time.

            Hide params attribute Show params attribute object
            • * object Additional properties
          • lang string

            Any of:

            Values are painless, expression, mustache, or java.

          • options object
            Hide options attribute Show options attribute object
            • * string Additional properties
        • type string Required

          Values are boolean, composite, date, double, geo_point, geo_shape, ip, keyword, long, or lookup.

  • sync object
    Hide sync attribute Show sync attribute object
    • time object
      Hide time attributes Show time attributes object
      • delay string

        A duration. Units can be nanos, micros, ms (milliseconds), s (seconds), m (minutes), h (hours) and d (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.

      • field string Required

        Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.

Responses

  • 200 application/json
    Hide response attribute Show response attribute object
    • acknowledged boolean Required

      For a successful response, this value is always true. On failure, an exception is returned instead.

PUT /_transform/{transform_id}
PUT _transform/ecommerce_transform1
{
  "source": {
    "index": "kibana_sample_data_ecommerce",
    "query": {
      "term": {
        "geoip.continent_name": {
          "value": "Asia"
        }
      }
    }
  },
  "pivot": {
    "group_by": {
      "customer_id": {
        "terms": {
          "field": "customer_id",
          "missing_bucket": true
        }
      }
    },
    "aggregations": {
      "max_price": {
        "max": {
          "field": "taxful_total_price"
        }
      }
    }
  },
  "description": "Maximum priced ecommerce data by customer_id in Asia",
  "dest": {
    "index": "kibana_sample_data_ecommerce_transform1",
    "pipeline": "add_timestamp_pipeline"
  },
  "frequency": "5m",
  "sync": {
    "time": {
      "field": "order_date",
      "delay": "60s"
    }
  },
  "retention_policy": {
    "time": {
      "field": "order_date",
      "max_age": "30d"
    }
  }
}
curl \
 --request PUT 'http://api.example.com/_transform/{transform_id}' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"source\": {\n    \"index\": \"kibana_sample_data_ecommerce\",\n    \"query\": {\n      \"term\": {\n        \"geoip.continent_name\": {\n          \"value\": \"Asia\"\n        }\n      }\n    }\n  },\n  \"pivot\": {\n    \"group_by\": {\n      \"customer_id\": {\n        \"terms\": {\n          \"field\": \"customer_id\",\n          \"missing_bucket\": true\n        }\n      }\n    },\n    \"aggregations\": {\n      \"max_price\": {\n        \"max\": {\n          \"field\": \"taxful_total_price\"\n        }\n      }\n    }\n  },\n  \"description\": \"Maximum priced ecommerce data by customer_id in Asia\",\n  \"dest\": {\n    \"index\": \"kibana_sample_data_ecommerce_transform1\",\n    \"pipeline\": \"add_timestamp_pipeline\"\n  },\n  \"frequency\": \"5m\",\n  \"sync\": {\n    \"time\": {\n      \"field\": \"order_date\",\n      \"delay\": \"60s\"\n    }\n  },\n  \"retention_policy\": {\n    \"time\": {\n      \"field\": \"order_date\",\n      \"max_age\": \"30d\"\n    }\n  }\n}"'
Request examples
Run `PUT _transform/ecommerce_transform1` to create a transform that uses the pivot method.
{
  "source": {
    "index": "kibana_sample_data_ecommerce",
    "query": {
      "term": {
        "geoip.continent_name": {
          "value": "Asia"
        }
      }
    }
  },
  "pivot": {
    "group_by": {
      "customer_id": {
        "terms": {
          "field": "customer_id",
          "missing_bucket": true
        }
      }
    },
    "aggregations": {
      "max_price": {
        "max": {
          "field": "taxful_total_price"
        }
      }
    }
  },
  "description": "Maximum priced ecommerce data by customer_id in Asia",
  "dest": {
    "index": "kibana_sample_data_ecommerce_transform1",
    "pipeline": "add_timestamp_pipeline"
  },
  "frequency": "5m",
  "sync": {
    "time": {
      "field": "order_date",
      "delay": "60s"
    }
  },
  "retention_policy": {
    "time": {
      "field": "order_date",
      "max_age": "30d"
    }
  }
}
Run `PUT _transform/ecommerce_transform2` to create a transform that uses the latest method.
{
  "source": {
    "index": "kibana_sample_data_ecommerce"
  },
  "latest": {
    "unique_key": [
      "customer_id"
    ],
    "sort": "order_date"
  },
  "description": "Latest order for each customer",
  "dest": {
    "index": "kibana_sample_data_ecommerce_transform2"
  },
  "frequency": "5m",
  "sync": {
    "time": {
      "field": "order_date",
      "delay": "60s"
    }
  }
}
An example body for a `PUT _transform/ecommerce-customer-transform` request.
{
  "source": {
    "index": [
      "kibana_sample_data_ecommerce"
    ],
    "query": {
      "bool": {
        "filter": {
          "term": {
            "currency": "EUR"
          }
        }
      }
    }
  },
  "pivot": {
    "group_by": {
      "customer_id": {
        "terms": {
          "field": "customer_id"
        }
      }
    },
    "aggregations": {
      "total_quantity.sum": {
        "sum": {
          "field": "total_quantity"
        }
      },
      "taxless_total_price.sum": {
        "sum": {
          "field": "taxless_total_price"
        }
      },
      "total_quantity.max": {
        "max": {
          "field": "total_quantity"
        }
      },
      "order_id.cardinality": {
        "cardinality": {
          "field": "order_id"
        }
      }
    }
  },
  "dest": {
    "index": "ecommerce-customers"
  },
  "retention_policy": {
    "time": {
      "field": "order_date",
      "max_age": "60d"
    }
  }
}
Response examples (200)
A successful response when creating a transform.
{
  "acknowledged": true
}

Documentation preview

This is a preview of your version @2025-06-09 which is not yet released.