Run an async search

  • POST /{index}/_async_search
  • POST /_async_search
Auth

When the primary sort of the results is an indexed field, shards get sorted based on minimum and maximum value that they hold for that field. Partial results become available following the sort criteria that was requested.

Warning

Asynchronous search does not support scroll or search requests that include only the suggest section.

By default, Elasticsearch does not allow you to store an async search response larger than 10Mb and an attempt to do this results in an error. The maximum allowed size for a stored async search response can be set by changing the search.max_async_search_response_size cluster level setting.

Required privileges

Index privileges read

Path parameters

index union string | string[] optional

A comma-separated list of index names to search; use _all or empty string to perform the operation on all indices

Leave it out to use /_async_search.

Query parameters

wait_for_completion_timeout string · default: 1s

Blocks and waits until the search is completed up to a certain timeout. When the async search completes within the timeout, the response won’t include the ID as the results are not stored in the cluster.

keep_alive string · default: 5d

Specifies how long the async search needs to be available. Ongoing async searches and any saved search results are deleted after this period.

keep_on_completion boolean · default: false

If true, results are stored for later retrieval when the search completes within the wait_for_completion_timeout.

allow_no_indices boolean

A setting that does two separate checks on the index expression. If false, the request returns an error (1) if any wildcard expression (including _all and *) resolves to zero matching indices or (2) if the complete set of resolved indices, aliases or data streams is empty after all expressions are evaluated. If true, index expressions that resolve to no indices are allowed and the request returns an empty result.

allow_partial_search_results boolean · default: true

Indicate if an error should be returned if there is a partial search failure or timeout

analyzer string

The analyzer to use for the query string

analyze_wildcard boolean · default: false

Specify whether wildcard and prefix queries should be analyzed

batched_reduce_size number · default: 5

Affects how often partial results become available, which happens whenever shard results are reduced. A partial reduction is performed every time the coordinating node has received a certain number of new shard responses (5 by default).

ccs_minimize_roundtrips boolean · default: false

The default value is the only supported value.

default_operator enum · default: or

The default operator for query string query (AND or OR)

Values: and AND or OR
df string

The field to use as default where no field prefix is given in the query string

docvalue_fields union string | string[]

A comma-separated list of fields to return as the docvalue representation of a field for each hit

expand_wildcards union oneOf · default: open

Whether to expand wildcard expression to concrete indices that are open, closed or both

Supported values include:

  • all: Match any data stream or index, including hidden ones.
  • open: Match open, non-hidden indices. Also matches any non-hidden data stream.
  • closed: Match closed, non-hidden indices. Also matches any non-hidden data stream. Data streams cannot be closed.
  • hidden: Match hidden data streams and hidden indices. Must be combined with open, closed, or both.
  • none: Wildcard expressions are not accepted.
Values: all open closed hidden none
explain boolean

Specify whether to return detailed information about score computation as part of a hit

ignore_throttled boolean

Whether specified concrete, expanded or aliased indices should be ignored when throttled

ignore_unavailable boolean

If false, the request returns an error if it targets a concrete (non-wildcarded) index, alias, or data stream that is missing, closed, or otherwise unavailable. If true, unavailable concrete targets are silently ignored.

lenient boolean

Specify whether format-based query failures (such as providing text to a numeric field) should be ignored

max_concurrent_shard_requests number · default: 5

The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests

preference string · default: random

Specify the node or shard the operation should be performed on

request_cache boolean · default: true

Specify if request cache should be used for this request or not, defaults to true

routing union string | string[]

A comma-separated list of specific routing values

search_type enum

Search operation type

Supported values include:

  • query_then_fetch: Documents are scored using local term and document frequencies for the shard. This is usually faster but less accurate.
  • dfs_query_then_fetch: Documents are scored using global term and document frequencies across all shards. This is usually slower but more accurate.
Values: query_then_fetch dfs_query_then_fetch
stats string[]

Specific 'tag' of the request for logging and statistical purposes

stored_fields union string | string[]

A comma-separated list of stored fields to return as part of a hit

suggest_field string

Specifies which field to use for suggestions.

suggest_mode enum · default: missing

Specify suggest mode

Supported values include:

  • missing: Only generate suggestions for terms that are not in the shard.
  • popular: Only suggest terms that occur in more docs on the shard than the original term.
  • always: Suggest any matching suggestions based on terms in the suggest text.
Values: missing popular always
suggest_size number

How many suggestions to return in response

suggest_text string

The source text for which the suggestions should be returned.

terminate_after number

The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early

timeout string

Explicit operation timeout

track_total_hits boolean | number

Indicate if the number of documents that match the query should be tracked. A number can also be specified, to accurately track the total hit count up to the number.

track_scores boolean

Whether to calculate and return scores even if they are not used for sorting

typed_keys boolean

Specify whether aggregation and suggester names should be prefixed by their respective types in the response

rest_total_hits_as_int boolean · default: false

Indicates whether hits.total should be rendered as an integer or an object in the rest search response

version boolean

Specify whether to return document version as part of a hit

_source union oneOf

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

One of: boolean or string
_source_excludes union string | string[]

A list of fields to exclude from the returned _source field

_source_includes union string | string[]

A list of fields to extract and return from the _source field

seq_no_primary_term boolean

Specify whether to return sequence number and primary term of the last modification of each hit

q string

Query in the Lucene query string syntax

size number · default: 10

Number of hits to return

from number · default: 0

Starting offset

sort union string | string[]

A comma-separated list of

Request body

aggregations map string to {} Aggregation
collapse object
field string required

The field to collapse the result set on

inner_hits union oneOf

The number of inner hits and their sort order

object or object[]
name string

The name for the particular inner hit definition in the response. Useful when a search request contains multiple inner hits.

size number · default: 3

The maximum number of hits to return per inner_hits.

from number · default: 0

Inner hit starting document offset.

collapse object
Same fields as collapse
docvalue_fields object[]
field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
explain boolean
highlight object
type union anyOf

Supported values include:

  • plain: The plain highlighter uses the standard Lucene highlighter
  • fvh: The fvh highlighter uses the Lucene Fast Vector highlighter.
  • unified: The unified highlighter uses the Lucene Unified Highlighter.
Values: plain fvh unified
boundary_chars string · default: .,!? \t\n

A string that contains each boundary character.

boundary_max_scan number · default: 20

How far to scan for boundary characters.

boundary_scanner enum

Specifies how to break the highlighted fragments: chars, sentence, or word. Only valid for the unified and fvh highlighters. Defaults to sentence for the unified highlighter. Defaults to chars for the fvh highlighter.

Supported values include:

  • chars: Use the characters specified by boundary_chars as highlighting boundaries. The boundary_max_scan setting controls how far to scan for boundary characters. Only valid for the fvh highlighter.
  • sentence: Break highlighted fragments at the next sentence boundary, as determined by Java’s BreakIterator. You can specify the locale to use with boundary_scanner_locale. When used with the unified highlighter, the sentence scanner splits sentences bigger than fragment_size at the first word boundary next to fragment_size. You can set fragment_size to 0 to never split any sentence.
  • word: Break highlighted fragments at the next word boundary, as determined by Java’s BreakIterator. You can specify the locale to use with boundary_scanner_locale.
Values: chars sentence word
boundary_scanner_locale string · default: Locale.ROOT

Controls which locale is used to search for sentence and word boundaries. This parameter takes a form of a language tag, for example: "en-US", "fr-FR", "ja-JP".

force_source boolean deprecated
fragmenter enum · default: span

Specifies how text should be broken up in highlight snippets: simple or span. Only valid for the plain highlighter.

Values: simple span
fragment_size number · default: 100

The size of the highlighted fragment in characters.

highlight_filter boolean
highlight_query {} Query

Highlight matches for a query other than the search query. This is especially useful if you use a rescore query because those are not taken into account by highlighting by default.

max_fragment_length number
max_analyzed_offset number

If set to a non-negative value, highlighting stops at this defined maximum limit. The rest of the text is not processed, thus not highlighted and no error is returned The max_analyzed_offset query setting does not override the index.highlight.max_analyzed_offset setting, which prevails when it’s set to lower value than the query setting.

no_match_size number · default: 0

The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.

number_of_fragments number · default: 5

The maximum number of fragments to return. If the number of fragments is set to 0, no fragments are returned. Instead, the entire field contents are highlighted and returned. This can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required. If number_of_fragments is 0, fragment_size is ignored.

options map string to object
order enum · default: none

Sorts highlighted fragments by score when set to score. By default, fragments will be output in the order they appear in the field (order: none). Setting this option to score will output the most relevant fragments first. Each highlighter applies its own logic to compute relevancy scores.

Values: score
phrase_limit number · default: 256

Controls the number of matching phrases in a document that are considered. Prevents the fvh highlighter from analyzing too many phrases and consuming too much memory. When using matched_fields, phrase_limit phrases per matched field are considered. Raising the limit increases query time and consumes more memory. Only supported by the fvh highlighter.

post_tags string[]

Use in conjunction with pre_tags to define the HTML tags to use for the highlighted text. By default, highlighted text is wrapped in <em> and </em> tags.

pre_tags string[]

Use in conjunction with post_tags to define the HTML tags to use for the highlighted text. By default, highlighted text is wrapped in <em> and </em> tags.

require_field_match boolean · default: true

By default, only fields that contains a query match are highlighted. Set to false to highlight all fields.

tags_schema enum

Set to styled to use the built-in tag schema.

Values: styled
encoder enum
Values: default html
fields union oneOf required
map string to object or [] map string to object
ignore_unmapped boolean
script_fields map string to object
<string> object
script string required
ignore_failure boolean
seq_no_primary_term boolean
field string[]
fields object[]
field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
sort union oneOf

How the inner hits should be sorted per inner_hits. By default, inner hits are sorted by score.

A value or an array; each item is one of:

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

_source union oneOf
One of:
stored_fields union oneOf
One of: string[] or string
track_scores boolean · default: false
version boolean
max_concurrent_group_searches number

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

explain boolean · default: false

If true, returns detailed information about score computation as part of a hit.

ext map string to object

Configuration of search extensions defined by Elasticsearch plugins.

from number · default: 0

Starting document offset. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after parameter.

highlight object
Same fields as highlight in inner_hits
track_total_hits boolean | number

Number of hits matching the query to count accurately. If true, the exact number of hits is returned at the cost of some performance. If false, the response does not include the total number of hits matching the query. Defaults to 10,000 hits.

indices_boost string to number[]

Boosts the _score of documents from specified indices.

docvalue_fields object[]

Array of wildcard (*) patterns. The request returns doc values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
knn union oneOf

Defines the approximate kNN search to run.

object or object[]
field string required

The name of the vector field to search against

query_vector union oneOf

The query vector

One of: number[] or string
query_vector_builder object

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

embedding object
inference_id string
input union oneOf required
One of:
timeout string
text_embedding object
model_id string

Model ID is required for all dense_vector fields but may be inferred for semantic_text fields

model_text string required

The text to be converted into a vector by the specified model

lookup object

Lookup a vector from an existing document. Must reference a dense_vector field and a single value.

id string required

The ID of the document to fetch the vector from

index string required

The name of the index to fetch the document from

path string required

The name of the field containing the vector

routing string

The routing value to use when fetching the document

k number

The final number of nearest neighbors to return as top hits

num_candidates number

The number of nearest neighbor candidates to consider per shard

visit_percentage number

The percentage of vectors to explore per shard while doing knn search with bbq_disk

boost number

Boost value to apply to kNN scores

filter union oneOf

Filters for the kNN search query

One of: Query[] or Query
similarity number

The minimum similarity for a vector to be considered a match

inner_hits object

If defined, each search hit will contain inner hits.

name string

The name for the particular inner hit definition in the response. Useful when a search request contains multiple inner hits.

size number · default: 3

The maximum number of hits to return per inner_hits.

from number · default: 0

Inner hit starting document offset.

collapse object
field string required

The field to collapse the result set on

inner_hits union oneOf

The number of inner hits and their sort order

object or object[]
max_concurrent_group_searches number

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

docvalue_fields object[]
field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
explain boolean
highlight object
Same fields as highlight in inner_hits
ignore_unmapped boolean
script_fields map string to object
<string> object
script string required
ignore_failure boolean
seq_no_primary_term boolean
field string[]
fields object[]
field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
sort union oneOf

How the inner hits should be sorted per inner_hits. By default, inner hits are sorted by score.

Same options as sort in inner_hits
_source union oneOf
One of:
stored_fields union oneOf
One of: string[] or string
track_scores boolean · default: false
version boolean
rescore_vector object

Apply oversampling and rescoring to quantized vectors

oversample number required

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

_name string
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in search results and results collected by aggregations.

post_filter {} Query
profile boolean
query {} Query

Defines the search definition using the Query DSL.

rescore union oneOf
object or object[]
window_size number
query object
rescore_query {} Query required

The query to use for rescoring. This query is only run on the Top-K results returned by the query and post_filter phases.

query_weight number · default: 1

Relative importance of the original query versus the rescore query.

rescore_query_weight number · default: 1

Relative importance of the rescore query versus the original query.

score_mode enum · default: total

Determines how scores are combined.

Supported values include:

  • avg: Average the original score and the rescore query score.
  • max: Take the max of original score and the rescore query score.
  • min: Take the min of the original score and the rescore query score.
  • multiply: Multiply the original score by the rescore query score. Useful for function query rescores.
  • total: Add the original score and the rescore query score.
Values: avg max min multiply total
learning_to_rank object
model_id string required

The unique identifier of the trained model uploaded to Elasticsearch

params map string to object

Named parameters to be passed to the query templates used for feature

script object
script string required
script_fields map string to object

Retrieve a script evaluation (based on different fields) for each hit.

<string> object
script string required
ignore_failure boolean
search_after union[]
size number · default: 10

The number of hits to return. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after parameter.

slice object
field string
id string required
max number required
sort union oneOf
Same options as sort in inner_hits
_source union oneOf

Indicates which source fields are returned for matching documents. These fields are returned in the hits._source property of the search response.

One of:
fields object[]

Array of wildcard (*) patterns. The request returns values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
suggest object
text string

Global suggest text, to avoid repetition when the same text is used in several suggesters

terminate_after number · default: 0

Maximum number of documents to collect for each shard. If a query reaches this limit, Elasticsearch terminates the query early. Elasticsearch collects documents before sorting. Defaults to 0, which does not terminate query execution early.

timeout string

Specifies the period of time to wait for a response from each shard. If no response is received before the timeout expires, the request fails and returns an error. Defaults to no timeout.

track_scores boolean · default: false

If true, calculate and return document scores, even if the scores are not used for sorting.

version boolean · default: false

If true, returns document version as part of a hit.

seq_no_primary_term boolean

If true, returns sequence number and primary term of the last modification of each hit. See Optimistic concurrency control.

stored_fields union oneOf

List of stored fields to return as part of a hit. If no fields are specified, no stored fields are included in the response. If this field is specified, the _source parameter defaults to false. You can pass _source: true to return both source fields and stored fields in the search response.

One of: string[] or string
pit object

Limits the search to a point in time (PIT). If you provide a PIT, you cannot specify an

id string required
keep_alive string
runtime_mappings object

Defines one or more runtime fields in the search request. These fields take precedence over mapped fields with the same name.

stats string[]

Stats groups to associate with the search. Each group maintains a statistics aggregation for its associated searches. You can retrieve these stats using the indices stats API.

Responses

application/json
id string
is_partial boolean required

When the query is no longer running, this property indicates whether the search failed or was successfully completed on all shards. While the query is running, is_partial is always set to true.

is_running boolean required

Indicates whether the search is still running or has completed.

Note

If the search failed after some shards returned their results or the node that is coordinating the async search dies, results may be partial even though is_running is false.

expiration_time union oneOf

Indicates when the async search will expire.

One of: string or number
expiration_time_in_millis number required
start_time union oneOf
One of: string or number
start_time_in_millis number required
completion_time union oneOf

Indicates when the async search completed. It is present only when the search has completed.

One of: string or number
completion_time_in_millis number
error object
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as error
root_cause object[]
Same fields as error
suppressed object[]
Same fields as error
response object required
aggregations map string to {} Aggregation result

Partial aggregations results, coming from the shards that have already completed running the query.

_clusters object
skipped number required
successful number required
total number required
running number required
partial number required
failed number required
details map string to object
<string> object
status enum required
Values: running successful partial skipped failed
indices string required
took number
timed_out boolean required
_shards object
failed number required

The number of shards the operation or search attempted to run on but failed.

successful number required

The number of shards the operation or search succeeded on.

total number required

The number of shards the operation or search will run on overall.

failures object[]
index string
node string
reason object required
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as reason in failures
root_cause object[]
Same fields as reason in failures
suppressed object[]
Same fields as reason in failures
shard number
status string
primary boolean
skipped number
failures object[]
Same fields as failures in _shards
fields map string to object
hits object required
total union oneOf

Total hit count information, present only if track_total_hits wasn't false in the search request.

One of:
relation enum required

Supported values include:

  • eq: Accurate
  • gte: Lower bound, including returned events or sequences
Values: eq gte
value number required
hits object[] required
_index string required
_id string
_score union number | string nullable
_explanation object
description string required
details object[] required
description string required
details object[]
Same fields as details in _explanation
value number required
value number required
fields map string to object
highlight map string to string
inner_hits map string to object
<string> object
hits object required
Same fields as hits in response
matched_queries union oneOf
One of: string[] or string to number
_nested object
field string required
offset number required
_nested object
Same fields as _nested in hits
_ignored string[]
ignored_field_values map string to object
_shard string
_node string
_routing string
_source object
_rank number
_seq_no number
_primary_term number
_version number
sort union[]
max_score union number | string nullable
max_score number
num_reduce_phases number

Indicates how many reductions of the results have been performed. If this number increases compared to the last retrieved results for a get asynch search request, you can expect additional results included in the search response.

profile object
shards object[] required
aggregations object[] required
breakdown object required
build_aggregation number required
build_aggregation_count number required
build_leaf_collector number required
build_leaf_collector_count number required
collect number required
collect_count number required
initialize number required
initialize_count number required
post_collection number
post_collection_count number
reduce number required
reduce_count number required
description string required
time_in_nanos number required
type string required
debug object
segments_with_multi_valued_ords number
collection_strategy string
segments_with_single_valued_ords number
total_buckets number
built_buckets number
result_strategy string
has_filter boolean
delegate string
delegate_debug object
Same fields as debug in aggregations
chars_fetched number
extract_count number
extract_ns number
values_fetched number
collect_analyzed_ns number
collect_analyzed_count number
surviving_buckets number
ordinals_collectors_used number
ordinals_collectors_overhead_too_high number
string_hashing_collectors_used number
numeric_collectors_used number
empty_collectors_used number
deferred_aggregators string[]
segments_with_doc_count_field number
segments_with_deleted_docs number
filters object[]
results_from_metadata number
query string
specialized_for string
segments_counted_in_constant_time number
segments_counted number
segments_collected number
map_reducer string
brute_force_used number
dynamic_pruning_attempted number
dynamic_pruning_used number
skipped_due_to_no_data number
children object[]
Same fields as aggregations in shards
cluster string required
dfs object
statistics object
type string required
description string required
time string
time_in_nanos number required
breakdown object required
collection_statistics number required
collection_statistics_count number required
create_weight number required
create_weight_count number required
rewrite number required
rewrite_count number required
term_statistics number required
term_statistics_count number required
debug map string to object
children object[]
Same fields as statistics in dfs
knn object[]
vector_operations_count number
query object[] required
type string required
description string required
time string
time_in_nanos number required
breakdown object required
advance number required
advance_count number required
build_scorer number required
build_scorer_count number required
compute_max_score number required
compute_max_score_count number required
count_weight number required
count_weight_count number required
create_weight number required
create_weight_count number required
match number required
match_count number required
next_doc number required
next_doc_count number required
score number required
score_count number required
set_min_competitive_score number required
set_min_competitive_score_count number required
shallow_advance number required
shallow_advance_count number required
debug map string to object
children object[]
Same fields as query in knn
rewrite_time number required
collector object[] required
name string required
reason string required
time string
time_in_nanos number required
children object[]
Same fields as collector in knn
fetch object
type string required
description string required
time_in_nanos number required
breakdown object required
load_source number
load_source_count number
load_stored_fields number
load_stored_fields_count number
next_reader number
next_reader_count number
process_count number
process number
debug object
stored_fields string[]
fast_path number
children object[]
Same fields as fetch in shards
id string required
index string required
node_id string required
rescore union oneOf[]

One entry per rescorer, in the order they ran. Omitted when the request has no rescorer.

One of:
type enum required
Values: query
description string required

What the rescorer runs.

time_in_nanos number required

The total time spent in the rescorer, including the time spent running its queries.

time string

The time spent in the rescorer, in human-readable units. Only returned when human is true.

debug map string to object

Extra details about the rescorer.

Every rescorer reports window_size, the number of top documents it was configured to rescore. timed_out is set to true if the search timed out while the rescorer was running. Rescorers can add their own keys.

breakdown object required

The query rescorer does not report any steps.

searches object[] required
collector object[] required
name string required
reason string required
time_in_nanos number required
children object[]
Same fields as collector in searches
query object[] required
breakdown object required
advance number required
advance_count number required
build_scorer number required
build_scorer_count number required
create_weight number required
create_weight_count number required
into_bit_set number required
into_bit_set_count number required
match number required
match_count number required
shallow_advance number required
shallow_advance_count number required
next_doc number required
next_doc_count number required
score number required
score_count number required
compute_max_score number required
compute_max_score_count number required
count_weight number required
count_weight_count number required
set_min_competitive_score number required
set_min_competitive_score_count number required
description string required
time_in_nanos number required
type string required
debug map string to object

Extra details about the query.

Queries run by a rescorer include a rescorer key with the position of that rescorer in the shard's rescore array.

children object[]
Same fields as query in searches
rewrite_time number required
shard_id number required
request object

When profiling is enabled, the original query source and target indices from the coordinating request.

source object

Original query source from the search request (SearchSourceBuilder as JSON).

aggregations map string to {} Aggregation

Defines the aggregations that are run as part of the search request.

collapse object

Collapses search results the values of the specified field.

Same fields as collapse
explain boolean · default: false

If true, the request returns detailed information about score computation as part of a hit.

ext map string to object

Configuration of search extensions defined by Elasticsearch plugins.

from number · default: 0

The starting document offset, which must be non-negative. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after parameter.

highlight object

Specifies the highlighter to use for retrieving highlighted snippets from one or more fields in your search results.

Same fields as highlight in inner_hits
track_total_hits boolean | number · default: 10000

Number of hits matching the query to count accurately. If true, the exact number of hits is returned at the cost of some performance. If false, the response does not include the total number of hits matching the query.

indices_boost string to number[]

Boost the _score of documents from specified indices. The boost value is the factor by which scores are multiplied. A boost value greater than 1.0 increases the score. A boost value between 0 and 1.0 decreases the score.

docvalue_fields object[]

An array of wildcard (*) field patterns. The request returns doc values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
knn union oneOf

The approximate kNN search to run.

object or object[]
Same options as knn
min_score number

The minimum _score for matching documents. Documents with a lower _score are not included in search results or results collected by aggregations.

post_filter {} Query

Use the post_filter parameter to filter search results. The search hits are filtered after the aggregations are calculated. A post filter has no impact on the aggregation results.

profile boolean · default: false

Set to true to return detailed timing information about the execution of individual components in a search request. NOTE: This is a debugging tool and adds significant overhead to search execution.

query {} Query

The search definition using the Query DSL.

rescore union oneOf

Can be used to improve precision by reordering just the top (for example 100 - 500) documents returned by the query and post_filter phases.

object or object[]
Same options as rescore
retriever object

A retriever is a specification to describe top documents returned from a search. A retriever replaces other elements of the search API that also return top documents such as query and knn.

standard object

A retriever that replaces the functionality of a traditional query.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

query {} Query

Defines a query to retrieve a set of top documents.

search_after union[]

Defines a search after object parameter used for pagination.

terminate_after number

Maximum number of documents to collect for each shard.

sort union oneOf

A sort object that that specifies the order of matching documents.

Same options as sort in inner_hits
collapse object

Collapses the top documents by a specified key into a single top document per key.

Same fields as collapse
knn object

A retriever that replaces the functionality of a knn search.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

field string required

The name of the vector field to search against.

query_vector union oneOf

Query vector. Must have the same number of dimensions as the vector field you are searching against. You must provide a query_vector_builder or query_vector, but not both.

One of: number[] or string
query_vector_builder object

Defines a model to build a query vector.

Same fields as query_vector_builder in knn
k number required

Number of nearest neighbors to return as top hits.

num_candidates number

Number of nearest neighbor candidates to consider per shard.

visit_percentage number

The percentage of vectors to explore per shard while doing knn search with bbq_disk

similarity number

The minimum similarity required for a document to be considered a match.

rescore_vector object

Apply oversampling and rescoring to quantized vectors

oversample number required

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

rrf object

A retriever that produces top documents from reciprocal rank fusion (RRF).

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

retrievers union oneOf[] required

A list of child retrievers to specify which sets of returned top documents will have the RRF formula applied to them. Each retriever can optionally include a weight parameter.

One of:
rank_constant number

This value determines how much influence documents in individual result sets per query have over the final ranked result set.

rank_window_size number

This value determines the size of the individual result sets per query.

query string
fields string[]
text_similarity_reranker object

A retriever that reranks the top documents based on a reranking model using the InferenceAPI

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

retriever object required

The nested retriever which will produce the first-level results, that will later be used for reranking.

Same fields as retriever in source
rank_window_size number

This value determines how many documents we will consider from the nested retriever.

inference_id string

Unique identifier of the inference endpoint created using the inference API.

inference_text string required

The text snippet used as the basis for similarity comparison.

field string required

The document field to be used for text similarity comparisons. This field should contain the text that will be evaluated against the inference_text.

chunk_rescorer object

Whether to rescore on only the best matching chunks.

size number

The number of chunks per document to evaluate for reranking.

chunking_settings object

Chunking settings to apply

max_chunk_size number · default: 250 required

The maximum size of a chunk in words. This value cannot be lower than 20 (for sentence strategy) or 10 (for word strategy). This value should not exceed the window size for the associated model.

overlap number · default: 100

The number of overlapping words for chunks. It is applicable only to a word chunking strategy. This value cannot be higher than half the max_chunk_size value.

sentence_overlap number · default: 1

The number of overlapping sentences for chunks. It is applicable only for a sentence chunking strategy. It can be either 1 or 0.

separator_group string

Only applicable to the recursive strategy and required when using it.

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

Using this parameter is an alternative to manually specifying a custom separators list.

separators string[]

Only applicable to the recursive strategy and required when using it.

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

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

After splitting, it attempts to recombine smaller pieces into larger chunks that stay within the max_chunk_size limit, to reduce the total number of chunks generated.

strategy string · default: sentence

The chunking strategy: sentence, word, none or recursive.

  • If strategy is set to recursive, you must also specify:
  • max_chunk_size
  • either separators orseparator_group

Learn more about different chunking strategies in the linked documentation.

rule object

A retriever that replaces the functionality of a rule query.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

ruleset_ids union string | string[] required

The ruleset IDs containing the rules this retriever is evaluating against.

match_criteria object required

The match criteria that will determine if a rule in the provided rulesets should be applied.

retriever object required

The retriever whose results rules should be applied to.

Same fields as retriever in source
rank_window_size number

This value determines the size of the individual result set.

rescorer object

A retriever that re-scores only the results produced by its child retriever.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

retriever object required

Inner retriever.

Same fields as retriever in source
rescore union oneOf required
object or object[]
Same options as rescore
linear object

A retriever that supports the combination of different retrievers through a weighted linear combination.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

retrievers object[]

Inner retrievers.

retriever object required

The nested retriever configuration.

Same fields as retriever in source
weight number · default: 1

Weight multiplier for this retriever's contribution to the linear combination. Must be non-negative.

normalizer enum · default: none

Score normalizer to apply to this retriever's results before weighting. Falls back to the top-level normalizer on the linear retriever if unset, then to none (identity) if neither is set.

Values: none minmax l2_norm
rank_window_size number
query string
fields string[]
normalizer enum
Values: none minmax l2_norm
pinned object

A pinned retriever applies pinned documents to the underlying retriever. This retriever will rewrite to a PinnedQueryBuilder.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

retriever object required

Inner retriever.

Same fields as retriever in source
ids string[]
docs object[]
index string
id string required
rank_window_size number
diversify object

A retriever that diversifies the results from its child retriever.

filter union oneOf

Query to filter the documents that can match.

One of: Query[] or Query
min_score number

Minimum _score for matching documents. Documents with a lower _score are not included in the top documents.

_name string

Retriever name.

type enum required

The diversification strategy to apply.

Values: mmr
field string required

The document field on which to diversify results on.

retriever object required

The nested retriever whose results will be diversified.

Same fields as retriever in source
size number

The number of top documents to return after diversification.

rank_window_size number

The number of top documents from the nested retriever to consider for diversification.

query_vector union oneOf

The query vector used for diversification.

One of: number[] or string
query_vector_builder object

a dense vector query vector builder to use instead of a static query_vector

Same fields as query_vector_builder in knn
lambda number

Controls the trade-off between relevance and diversity for MMR. A value of 0.0 focuses solely on diversity, while a value of 1.0 focuses solely on relevance. Required for MMR

script_fields map string to object

Retrieve a script evaluation (based on different fields) for each hit.

<string> object
script string required
ignore_failure boolean
search_after union[]

Used to retrieve the next page of hits using a set of sort values from the previous page.

size number · default: 10

The number of hits to return, which must not be negative. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after property.

slice object

Split a scrolled search into multiple slices that can be consumed independently.

field string
id string required
max number required
sort union oneOf

A comma-separated list of

Same options as sort in inner_hits
_source union oneOf

The source fields that are returned for matching documents. These fields are returned in the hits._source property of the search response. If the stored_fields property is specified, the _source property defaults to false. Otherwise, it defaults to true.

One of:
fields object[]

An array of wildcard (*) field patterns. The request returns values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
suggest object

Defines a suggester that provides similar looking terms based on a provided text.

text string

Global suggest text, to avoid repetition when the same text is used in several suggesters

terminate_after number · default: 0

The maximum number of documents to collect for each shard. If a query reaches this limit, Elasticsearch terminates the query early. Elasticsearch collects documents before sorting.

Important

Use with caution. Elasticsearch applies this property to each shard handling the request. When possible, let Elasticsearch perform early termination automatically. Avoid specifying this property for requests that target data streams with backing indices across multiple data tiers.

If set to 0 (default), the query does not terminate early.

timeout string

The period of time to wait for a response from each shard. If no response is received before the timeout expires, the request fails and returns an error. Defaults to no timeout.

track_scores boolean · default: false

If true, calculate and return document scores, even if the scores are not used for sorting.

version boolean · default: false

If true, the request returns the document version as part of a hit.

seq_no_primary_term boolean

If true, the request returns sequence number and primary term of the last modification of each hit.

stored_fields union oneOf

A comma-separated list of stored fields to return as part of a hit. If no fields are specified, no stored fields are included in the response. If this field is specified, the _source property defaults to false. You can pass _source: true to return both source fields and stored fields in the search response.

One of: string[] or string
pit object

Limit the search to a point in time (PIT). If you provide a PIT, you cannot specify an <index> in the request path.

id string required
keep_alive string
runtime_mappings object

One or more runtime fields in the search request. These fields take precedence over mapped fields with the same name.

stats string[]

The stats groups to associate with the search. Each group maintains a statistics aggregation for its associated searches. You can retrieve these stats using the indices stats API.

indices string[]

Target index expressions from the request (before index resolution).

pit_id string
_scroll_id string
_shards object required

Indicates how many shards have run the query. Note that in order for shard results to be included in the search response, they need to be reduced first.

Same fields as _shards in details
suggest map string to oneOf
terminated_early boolean
timed_out boolean required
took number required
application/json
is_partial boolean required
is_running boolean required
expiration_time union oneOf
One of: string or number
expiration_time_in_millis number required
start_time union oneOf
One of: string or number
start_time_in_millis number required
completion_time union oneOf
One of: string or number
completion_time_in_millis number
error object
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as error
root_cause object[]
Same fields as error
suppressed object[]
Same fields as error
response object
aggregations map string to {} Aggregation result

Partial aggregations results, coming from the shards that have already completed running the query.

_clusters object
Same fields as _clusters in response
fields map string to object
hits object required
Same fields as hits in response
max_score number
num_reduce_phases number

Indicates how many reductions of the results have been performed. If this number increases compared to the last retrieved results for a get asynch search request, you can expect additional results included in the search response.

profile object
shards object[] required
aggregations object[] required
breakdown object required
Same fields as breakdown in aggregations
description string required
time_in_nanos number required
type string required
debug object
Same fields as debug in aggregations
children object[]
Same fields as aggregations in shards
cluster string required
dfs object
statistics object
Same fields as statistics in dfs
knn object[]
vector_operations_count number
query object[] required
Same fields as query in knn
rewrite_time number required
collector object[] required
name string required
reason string required
time string
time_in_nanos number required
children object[]
Same fields as collector in knn
fetch object
Same fields as fetch in shards
id string required
index string required
node_id string required
rescore union oneOf[]

One entry per rescorer, in the order they ran. Omitted when the request has no rescorer.

Same options as rescore in shards
searches object[] required
collector object[] required
name string required
reason string required
time_in_nanos number required
children object[]
Same fields as collector in searches
query object[] required
Same fields as query in searches
rewrite_time number required
shard_id number required
request object

When profiling is enabled, the original query source and target indices from the coordinating request.

source object

Original query source from the search request (SearchSourceBuilder as JSON).

aggregations map string to {} Aggregation

Defines the aggregations that are run as part of the search request.

collapse object

Collapses search results the values of the specified field.

Same fields as collapse
explain boolean · default: false

If true, the request returns detailed information about score computation as part of a hit.

ext map string to object

Configuration of search extensions defined by Elasticsearch plugins.

from number · default: 0

The starting document offset, which must be non-negative. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after parameter.

highlight object

Specifies the highlighter to use for retrieving highlighted snippets from one or more fields in your search results.

Same fields as highlight in inner_hits
track_total_hits boolean | number · default: 10000

Number of hits matching the query to count accurately. If true, the exact number of hits is returned at the cost of some performance. If false, the response does not include the total number of hits matching the query.

indices_boost string to number[]

Boost the _score of documents from specified indices. The boost value is the factor by which scores are multiplied. A boost value greater than 1.0 increases the score. A boost value between 0 and 1.0 decreases the score.

docvalue_fields object[]

An array of wildcard (*) field patterns. The request returns doc values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
knn union oneOf

The approximate kNN search to run.

object or object[]
Same options as knn
min_score number

The minimum _score for matching documents. Documents with a lower _score are not included in search results or results collected by aggregations.

post_filter {} Query

Use the post_filter parameter to filter search results. The search hits are filtered after the aggregations are calculated. A post filter has no impact on the aggregation results.

profile boolean · default: false

Set to true to return detailed timing information about the execution of individual components in a search request. NOTE: This is a debugging tool and adds significant overhead to search execution.

query {} Query

The search definition using the Query DSL.

rescore union oneOf

Can be used to improve precision by reordering just the top (for example 100 - 500) documents returned by the query and post_filter phases.

object or object[]
Same options as rescore
retriever object

A retriever is a specification to describe top documents returned from a search. A retriever replaces other elements of the search API that also return top documents such as query and knn.

Same fields as retriever in source
script_fields map string to object

Retrieve a script evaluation (based on different fields) for each hit.

<string> object
script string required
ignore_failure boolean
search_after union[]

Used to retrieve the next page of hits using a set of sort values from the previous page.

size number · default: 10

The number of hits to return, which must not be negative. By default, you cannot page through more than 10,000 hits using the from and size parameters. To page through more hits, use the search_after property.

slice object

Split a scrolled search into multiple slices that can be consumed independently.

field string
id string required
max number required
sort union oneOf

A comma-separated list of

Same options as sort in inner_hits
_source union oneOf

The source fields that are returned for matching documents. These fields are returned in the hits._source property of the search response. If the stored_fields property is specified, the _source property defaults to false. Otherwise, it defaults to true.

One of:
fields object[]

An array of wildcard (*) field patterns. The request returns values for field names matching these patterns in the hits.fields property of the response.

field string required

A wildcard pattern. The request returns values for field names matching this pattern.

format string

The format in which the values are returned.

include_unmapped boolean
suggest object

Defines a suggester that provides similar looking terms based on a provided text.

text string

Global suggest text, to avoid repetition when the same text is used in several suggesters

terminate_after number · default: 0

The maximum number of documents to collect for each shard. If a query reaches this limit, Elasticsearch terminates the query early. Elasticsearch collects documents before sorting.

Important

Use with caution. Elasticsearch applies this property to each shard handling the request. When possible, let Elasticsearch perform early termination automatically. Avoid specifying this property for requests that target data streams with backing indices across multiple data tiers.

If set to 0 (default), the query does not terminate early.

timeout string

The period of time to wait for a response from each shard. If no response is received before the timeout expires, the request fails and returns an error. Defaults to no timeout.

track_scores boolean · default: false

If true, calculate and return document scores, even if the scores are not used for sorting.

version boolean · default: false

If true, the request returns the document version as part of a hit.

seq_no_primary_term boolean

If true, the request returns sequence number and primary term of the last modification of each hit.

stored_fields union oneOf

A comma-separated list of stored fields to return as part of a hit. If no fields are specified, no stored fields are included in the response. If this field is specified, the _source property defaults to false. You can pass _source: true to return both source fields and stored fields in the search response.

One of: string[] or string
pit object

Limit the search to a point in time (PIT). If you provide a PIT, you cannot specify an <index> in the request path.

id string required
keep_alive string
runtime_mappings object

One or more runtime fields in the search request. These fields take precedence over mapped fields with the same name.

stats string[]

The stats groups to associate with the search. Each group maintains a statistics aggregation for its associated searches. You can retrieve these stats using the indices stats API.

indices string[]

Target index expressions from the request (before index resolution).

pit_id string
_scroll_id string
_shards object required

Indicates how many shards have run the query. Note that in order for shard results to be included in the search response, they need to be reduced first.

Same fields as _shards in details
suggest map string to oneOf
terminated_early boolean
timed_out boolean required
took number required
application/json
is_partial boolean required
is_running boolean required
expiration_time union oneOf
One of: string or number
expiration_time_in_millis number required
start_time union oneOf
One of: string or number
start_time_in_millis number required
completion_time union oneOf
One of: string or number
completion_time_in_millis number
error object
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as error
root_cause object[]
Same fields as error
suppressed object[]
Same fields as error
response object
Same fields as response
application/json
is_partial boolean required
is_running boolean required
expiration_time union oneOf
One of: string or number
expiration_time_in_millis number required
start_time union oneOf
One of: string or number
start_time_in_millis number required
completion_time union oneOf
One of: string or number
completion_time_in_millis number
error object
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as error
root_cause object[]
Same fields as error
suppressed object[]
Same fields as error
response object
Same fields as response
application/json
is_partial boolean required
is_running boolean required
expiration_time union oneOf
One of: string or number
expiration_time_in_millis number required
start_time union oneOf
One of: string or number
start_time_in_millis number required
completion_time union oneOf
One of: string or number
completion_time_in_millis number
error object
type string required

The type of error

reason union string nullable

A human-readable explanation of the error, in English.

One of: string
stack_trace string

The server stack trace. Present only if the error_trace=true parameter was sent with the request.

caused_by object
Same fields as error
root_cause object[]
Same fields as error
suppressed object[]
Same fields as error
response object
Same fields as response