[[reference-fleet-search]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    This file is autogenerated, DO NOT send pull requests that changes this file directly.                             ||
||    You should update the script that does the generation, which can be found in:                                      ||
||    https://github.com/elastic/elastic-client-generator-js                                                             ||
||                                                                                                                       ||
||    You can run the script with the following command:                                                                 ||
||       npm run elasticsearch -- --version <version>                                                                    ||
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
===========================================================================================================================
////////

[discrete]
[[client.fleet.search]]
=== client.fleet.search

The purpose of the fleet search api is to provide a search api where the search will only be executed after provided checkpoint has been processed and is visible for searches inside of Elasticsearch.

[discrete]
==== Function signature

[source,ts]
----
(FleetSearchRequest, options?): Promise<FleetSearchResponse>
----

[discrete]
==== FleetSearchRequest

[pass]
++++
<pre>
++++
interface FleetSearchRequest extends <<RequestBase>> {
  index: <<IndexName>> | <<IndexAlias>>
  allow_no_indices?: boolean
  analyzer?: string
  analyze_wildcard?: boolean
  batched_reduce_size?: <<long>>
  ccs_minimize_roundtrips?: boolean
  default_operator?: <<QueryDslOperator>>
  df?: string
  expand_wildcards?: <<ExpandWildcards>>
  ignore_throttled?: boolean
  ignore_unavailable?: boolean
  lenient?: boolean
  max_concurrent_shard_requests?: <<long>>
  min_compatible_shard_node?: <<VersionString>>
  preference?: string
  pre_filter_shard_size?: <<long>>
  request_cache?: boolean
  routing?: <<Routing>>
  scroll?: <<Duration>>
  search_type?: <<SearchType>>
  suggest_field?: <<Field>>
  suggest_mode?: <<SuggestMode>>
  suggest_size?: <<long>>
  suggest_text?: string
  typed_keys?: boolean
  rest_total_hits_as_int?: boolean
  _source_excludes?: <<Fields>>
  _source_includes?: <<Fields>>
  q?: string
  wait_for_checkpoints?: <<FleetCheckpoint>>[]
  allow_partial_search_results?: boolean
  aggregations?: Record<string, <<AggregationsAggregationContainer>>>
  pass:[/**] @alias aggregations */
  aggs?: Record<string, <<AggregationsAggregationContainer>>>
  collapse?: <<SearchFieldCollapse>>
  explain?: boolean
  ext?: Record<string, any>
  from?: <<integer>>
  highlight?: <<SearchHighlight>>
  track_total_hits?: <<SearchTrackHits>>
  indices_boost?: Record<<<IndexName>>, <<double>>>[]
  docvalue_fields?: (<<QueryDslFieldAndFormat>> | <<Field>>)[]
  min_score?: <<double>>
  post_filter?: <<QueryDslQueryContainer>>
  profile?: boolean
  query?: <<QueryDslQueryContainer>>
  rescore?: <<SearchRescore>> | <<SearchRescore>>[]
  script_fields?: Record<string, <<ScriptField>>>
  search_after?: <<SortResults>>
  size?: <<integer>>
  slice?: <<SlicedScroll>>
  sort?: <<Sort>>
  _source?: <<SearchSourceConfig>>
  fields?: (<<QueryDslFieldAndFormat>> | <<Field>>)[]
  suggest?: <<SearchSuggester>>
  terminate_after?: <<long>>
  timeout?: string
  track_scores?: boolean
  version?: boolean
  seq_no_primary_term?: boolean
  stored_fields?: <<Fields>>
  pit?: <<SearchPointInTimeReference>>
  runtime_mappings?: <<MappingRuntimeFields>>
  stats?: string[]
}

[pass]
++++
</pre>
++++
[discrete]
==== FleetSearchResponse

[pass]
++++
<pre>
++++
interface FleetSearchResponse<TDocument = unknown> {
  took: <<long>>
  timed_out: boolean
  _shards: <<ShardStatistics>>
  hits: <<SearchHitsMetadata>><TDocument>
  aggregations?: Record<<<AggregateName>>, <<AggregationsAggregate>>>
  _clusters?: <<ClusterStatistics>>
  fields?: Record<string, any>
  max_score?: <<double>>
  num_reduce_phases?: <<long>>
  profile?: <<SearchProfile>>
  pit_id?: <<Id>>
  _scroll_id?: <<ScrollId>>
  suggest?: Record<<<SuggestionName>>, <<SearchSuggest>><TDocument>[]>
  terminated_early?: boolean
}

[pass]
++++
</pre>
++++
