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

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`

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

[discrete]
===== `FleetSearchResponse`

[source,ts]
----
interface FleetSearchResponse<TDocument = unknown> {
  took: <<shared-type-long, long>>
  timed_out: boolean
  _shards: <<shared-type-shard-statistics, ShardStatistics>>
  hits: SearchHitsMetadata<TDocument>
  aggregations?: Record<<<shared-type-aggregate-name, AggregateName>>, AggregationsAggregate>
  _clusters?: <<shared-type-cluster-statistics, ClusterStatistics>>
  fields?: Record<string, any>
  max_score?: <<shared-type-double, double>>
  num_reduce_phases?: <<shared-type-long, long>>
  profile?: SearchProfile
  pit_id?: <<shared-type-id, Id>>
  _scroll_id?: <<shared-type-scroll-id, ScrollId>>
  suggest?: Record<<<shared-type-suggestion-name, SuggestionName>>, SearchSuggest<TDocument>[]>
  terminated_early?: boolean
}
----

