Explain a document match result Generally available

GET /{index}/_explain/{id}

Get information about why a specific document matches, or doesn't match, a query. It computes a score explanation for a query and a specific document.

Required authorization

  • Index privileges: read

Path parameters

  • index string Required

    Index names that are used to limit the request. Only a single index name can be provided to this parameter.

  • id string Required

    The document identifier.

Query parameters

  • analyzer string

    The analyzer to use for the query string. This parameter can be used only when the q query string parameter is specified.

  • analyze_wildcard boolean

    If true, wildcard and prefix queries are analyzed. This parameter can be used only when the q query string parameter is specified.

  • default_operator string

    The default operator for query string query: and or or. This parameter can be used only when the q query string parameter is specified.

    Values are and, AND, or, or OR.

  • df string

    The field to use as default where no field prefix is given in the query string. This parameter can be used only when the q query string parameter is specified.

  • lenient boolean

    If true, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. This parameter can be used only when the q query string parameter is specified.

  • preference string

    The node or shard the operation should be performed on. It is random by default.

  • routing string | array[string]

    A custom value used to route operations to a specific shard.

  • _source boolean | string | array[string]

    True or false to return the _source field or not or a list of fields to return.

  • _source_excludes string | array[string]

    A comma-separated list of source fields to exclude from the response. You can also use this parameter to exclude fields from the subset specified in _source_includes query parameter. If the _source parameter is false, this parameter is ignored.

  • _source_includes string | array[string]

    A comma-separated list of source fields to include in the response. If this parameter is specified, only these source fields are returned. You can exclude fields from this subset using the _source_excludes query parameter. If the _source parameter is false, this parameter is ignored.

  • stored_fields string | array[string]

    A comma-separated list of stored fields to return in the response.

  • q string

    The query in the Lucene query string syntax.

application/json

Body

  • query object

    Defines the search definition using the Query DSL.

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

      matches documents matching boolean combinations of other queries.

      External documentation
      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.

        Default value is 1.0.

      • _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.

      • minimum_should_match
      • 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.

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

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

    • boosting object

      Returns documents matching a positive query while reducing the relevance score of documents that also match a negative query.

      External documentation
      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.

        Default value is 1.0.

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

        Query used to decrease the relevance score of matching documents.

      • positive object Required

        Any returned documents must match this query.

    • common object Deprecated
    • combined_fields object Generally available; Added in 7.13.0

      The combined_fields query supports searching multiple text fields as if their contents had been indexed into one combined field.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is true.

      • operator string

        Boolean logic used to interpret text in the query value.

        Values are or or and.

      • minimum_should_match
      • zero_terms_query string

        Indicates whether no documents are returned if the analyzer removes all tokens, such as when using a stop filter.

        Values are none or all.

    • constant_score object

      Wraps a filter query and returns every matching document with a relevance score equal to the boost parameter value.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • filter object Required

        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.

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

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is 0.0.

    • distance_feature object Required

      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.

      External documentation
    • exists object

      Returns documents that contain an indexed value for a field.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • field string Required

        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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • boost_mode string

        Defines how he newly computed score is combined with the score of the query

        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

        A query that determines the documents for which a new score is computed.

      • score_mode string

        Specifies how the computed scores are combined

        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

      Matches geo_point and geo_shape values that intersect a bounding box.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • type string

        Values are memory or indexed.

      • validation_method string

        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.

        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.

        Default value is false.

    • geo_distance object

      Matches geo_point and geo_shape values within a given distance of a geopoint.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • distance string Required

        The radius of the circle centred on the specified location. Points which fall into this circle are considered to be matches.

      • distance_type string

        How to compute the distance. Set to plane for a faster calculation that's inaccurate on long distances and close to the poles.

        Values are arc or plane.

      • validation_method string

        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.

        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.

        Default value is false.

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

        Default value is 1.0.

      • _name string
      • validation_method string

        Values are coerce, ignore_malformed, or strict.

      • ignore_unmapped boolean
    • geo_shape object

      Filter documents indexed using either the geo_shape or the geo_point type.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is false.

    • has_child object

      Returns parent documents whose joined child documents match a provided query.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • ignore_unmapped boolean

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

        Default value is false.

      • inner_hits object

        If defined, each search hit will contain inner hits.

      • 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

        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 string

        Indicates how scores for matching child documents affect the root parent document’s relevance score.

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

      • type string Required

        Name of the child relationship mapped for the join field.

    • has_parent object

      Returns child documents whose joined parent document matches a provided query.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is false.

      • inner_hits object

        If defined, each search hit will contain inner hits.

      • parent_type string Required

        Name of the parent relationship mapped for the join field.

      • query object Required

        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

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

        Default value is false.

    • ids object

      Returns documents based on their IDs. This query uses document IDs stored in the _id field.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • values
    • intervals object

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

      External documentation
    • 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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • field string Required

        The name of the vector field to search against

      • query_vector array[number]

        The query vector

      • query_vector_builder object

        The query vector builder. You must provide a query_vector_builder or query_vector, but not both.

      • num_candidates number

        The number of nearest neighbor candidates to consider per shard

      • visit_percentage number Generally available; Added in 9.2.0

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

        Filters for the kNN search query

        One of:

        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

        Apply oversampling and rescoring to quantized vectors

    • 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

      Matches all documents, giving them all a _score of 1.0.

      External documentation
      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.

        Default value is 1.0.

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

      Matches no documents.

      External documentation
      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.

        Default value is 1.0.

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

      Returns documents that are "like" a given set of documents.

      External documentation
      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.

        Default value is 1.0.

      • _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).

        Default value is 0.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).

        Default value is true.

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

        Default value is false.

      • like array[string | object] Required
      • 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.

        Default value is 25.0.

      • max_word_length number

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

        Default value is 0.0.

      • min_doc_freq number

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

        Default value is 5.0.

      • minimum_should_match
      • min_term_freq number

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

        Default value is 2.0.

      • min_word_length number

        The minimum word length below which the terms are ignored.

        Default value is 0.0.

      • routing string
      • stop_words
      • unlike array[string | object]
      • version number
      • version_type string

        Values are internal, external, or 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.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is true.

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

        The fields to be queried. Defaults to the index.query.default_field index settings, which in turn defaults to *.

      • fuzziness
      • fuzzy_rewrite string

        Method used to rewrite the query.

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

        Default value is true.

      • lenient boolean

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

        Default value is false.

      • max_expansions number

        Maximum number of terms to which the query will expand.

        Default value is 50.0.

      • minimum_should_match
      • operator string

        Boolean logic used to interpret text in the query value.

        Values are and, AND, or, or OR.

      • prefix_length number

        Number of beginning characters left unchanged for fuzzy matching.

        Default value is 0.0.

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

        Default value is 0.0.

      • tie_breaker number

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

        Default value is 0.0.

      • type string

        How the multi_match query is executed internally.

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

      • zero_terms_query string

        Indicates whether no documents are returned if the analyzer removes all tokens, such as when using a stop filter.

        Values are all or none.

    • nested object

      Wraps another query to search nested fields. If an object matches the search, the nested query returns the root parent document.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • ignore_unmapped boolean

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

        Default value is false.

      • inner_hits object

        If defined, each search hit will contain inner hits.

      • path string Required

        Path to the nested object you wish to search.

      • query object Required

        Query you wish to run on nested objects in the path.

      • score_mode string

        How scores for matching child objects affect the root parent document’s relevance score.

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

    • parent_id object

      Returns child documents joined to a specific parent document.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • id string

        ID of the parent document.

      • ignore_unmapped boolean

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

        Default value is false.

      • type string

        Name of the child relationship mapped for the join field.

    • percolate object

      Matches queries stored in an index.

      External documentation
      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.

        Default value is 1.0.

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

        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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • 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

      Returns documents based on a provided query string, using a parser with a strict syntax.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • allow_leading_wildcard boolean

        If true, the wildcard characters * and ? are allowed as the first character of the query string.

        Default value is true.

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

        Default value is false.

      • auto_generate_synonyms_phrase_query boolean

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

        Default value is true.

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

        Default boolean logic used to interpret text in the query string if no operators are specified.

        Values are and, AND, or, or OR.

      • enable_position_increments boolean

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

        Default value is true.

      • escape boolean

        Default value is false.

      • fields array[string]

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

      • fuzziness
      • fuzzy_max_expansions number

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

        Default value is 50.0.

      • fuzzy_prefix_length number

        Number of beginning characters left unchanged for fuzzy matching.

        Default value is 0.0.

      • fuzzy_rewrite string

        Method used to rewrite the query.

      • fuzzy_transpositions boolean

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

        Default value is true.

      • lenient boolean

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

        Default value is false.

      • max_determinized_states number

        Maximum number of automaton states required for the query.

        Default value is 10000.0.

      • minimum_should_match
      • phrase_slop number

        Maximum number of positions allowed between matching tokens for phrases.

        Default value is 0.0.

      • 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

        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 string

        Determines how the query matches and scores documents.

        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

      Boosts the relevance score of documents based on the numeric value of a rank_feature or rank_features field.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • field string Required

        rank_feature or rank_features field used to boost relevance scores.

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

        Default value is 1.0.

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

      Filters documents based on a provided script. The script query is typically used in a filter context.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • script object Required

        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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • min_score number

        Documents with a score lower than this floating point number are excluded from the search results.

      • query object Required

        Query used to return documents.

      • script object Required

        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 Generally available; Added in 8.15.0

      A semantic query to semantic_text field types

      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.

        Default value is 1.0.

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

      Queries documents that contain fields indexed using the shape type.

      External documentation
      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.

        Default value is 1.0.

      • _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.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is false.

      • auto_generate_synonyms_phrase_query boolean

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

        Default value is true.

      • default_operator string

        Default boolean logic used to interpret text in the query string if no operators are specified.

        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 *.

      • fuzzy_max_expansions number

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

        Default value is 50.0.

      • fuzzy_prefix_length number

        Number of beginning characters left unchanged for fuzzy matching.

        Default value is 0.0.

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

        Default value is false.

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

      Returns matches which enclose another span query.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • big object Required

        Can be any span query. Matching spans from big that contain matches from little are returned.

      • little object Required

        Can be any span query. Matching spans from big that contain matches from little are returned.

    • span_field_masking object

      Wrapper to allow span queries to participate in composite single-field span queries by lying about their search field.

      External documentation
      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.

        Default value is 1.0.

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

      Matches spans near the beginning of a field.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • end number Required

        Controls the maximum end position permitted in a match.

      • match object Required

        Can be any other span type query.

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

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • match object Required

        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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • clauses array[object] Required

        Array of one or more other span type queries.

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

      External documentation
      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.

        Default value is 1.0.

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

        Span query whose matches must not overlap those returned.

      • include object Required

        Span query whose matches are filtered.

      • post number

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

        Default value is 0.0.

      • pre number

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

        Default value is 0.0.

    • span_or object

      Matches the union of its span clauses.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • clauses array[object] Required

        Array of one or more other span type queries.

    • span_term object

      Matches spans containing a term.

      External documentation
    • span_within object

      Returns matches which are enclosed inside another span query.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • big object Required

        Can be any span query. Matching spans from little that are enclosed within big are returned.

      • little object Required

        Can be any span query. Matching spans from little that are enclosed within big are returned.

    • sparse_vector object Generally available; Added in 8.15.0

      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.

      External documentation
      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.

        Default value is 1.0.

      • _name string
      • query string

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

      • prune boolean Generally available; 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

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

    • 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

      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.

      External documentation
      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.

        Default value is 1.0.

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

      A query that accepts any other query as base64 encoded string.

      External documentation
      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.

        Default value is 1.0.

      • _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.

        Default value is 1.0.

      • _name string
      • value string Required

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • _index string Required
    • _id string Required
    • matched boolean Required
    • explanation object
      Hide explanation attributes Show explanation attributes object
      • description string Required
      • details array[object]
      • value number Required
    • get object
      Hide get attributes Show get attributes object
      • fields object
        Hide fields attribute Show fields attribute object
        • * object Additional properties
      • found boolean Required
      • _seq_no number
      • _primary_term number
      • _routing string | array[string]

        Only to be used in query and path parameters, as the array form is actually a csv

      • _source object
GET /{index}/_explain/{id}
curl \
 --request GET 'http://api.example.com/{index}/_explain/{id}' \
 --header "Content-Type: application/json" \
 --data '"{\n  \"query\" : {\n    \"match\" : { \"message\" : \"elasticsearch\" }\n  }\n}"'
Request example
Run `GET /my-index-000001/_explain/0` with the request body. Alternatively, run `GET /my-index-000001/_explain/0?q=message:elasticsearch`
{
  "query" : {
    "match" : { "message" : "elasticsearch" }
  }
}
Response examples (200)
A successful response from `GET /my-index-000001/_explain/0`.
{
  "_index":"my-index-000001",
  "_id":"0",
  "matched":true,
  "explanation":{
      "value":1.6943598,
      "description":"weight(message:elasticsearch in 0) [PerFieldSimilarity], result of:",
      "details":[
        {
            "value":1.6943598,
            "description":"score(freq=1.0), computed as boost * idf * tf from:",
            "details":[
              {
                  "value":2.2,
                  "description":"boost",
                  "details":[]
              },
              {
                  "value":1.3862944,
                  "description":"idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:",
                  "details":[
                    {
                        "value":1,
                        "description":"n, number of documents containing term",
                        "details":[]
                    },
                    {
                        "value":5,
                        "description":"N, total number of documents with field",
                        "details":[]
                    }
                  ]
              },
              {
                  "value":0.5555556,
                  "description":"tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:",
                  "details":[
                    {
                        "value":1.0,
                        "description":"freq, occurrences of term within document",
                        "details":[]
                    },
                    {
                        "value":1.2,
                        "description":"k1, term saturation parameter",
                        "details":[]
                    },
                    {
                        "value":0.75,
                        "description":"b, length normalization parameter",
                        "details":[]
                    },
                    {
                        "value":3.0,
                        "description":"dl, length of field",
                        "details":[]
                    },
                    {
                        "value":5.4,
                        "description":"avgdl, average length of field",
                        "details":[]
                    }
                  ]
              }
            ]
        }
      ]
  }
}