[[search]]
== Search APIs

Search APIs are used to search and aggregate data stored in {es} indices and
data streams. For an overview and related tutorials, see <<search-your-data>>.

Most search APIs support <<multi-index,multi-target syntax>>, with the
exception of the <<search-explain,explain API>>.

[discrete]
[[core-search-apis]]
=== Core search

* <<search-search>>
* <<search-multi-search>>
* <<async-search>>
* <<point-in-time-api>>
* <<scroll-api>>
* <<clear-scroll-api>>
* <<search-suggesters>>

[discrete]
[[search-testing-apis]]
=== Search testing

* <<search-explain>>
* <<search-field-caps>>
* <<search-profile>>
* <<search-rank-eval>>
* <<search-shards>>
* <<search-validate>>

[discrete]
[[search-template-apis]]
=== Search templates

* <<search-template>>
* <<multi-search-template>>

[discrete]
[[eql-search-apis]]
=== EQL search

For an overview of EQL and related tutorials, see <<eql>>.

* <<eql-search-api>>
* <<get-async-eql-search-api>>
* <<delete-async-eql-search-api>>


include::search/search.asciidoc[]

include::search/async-search.asciidoc[]

include::search/point-in-time-api.asciidoc[]

include::search/scroll-api.asciidoc[]

include::search/clear-scroll-api.asciidoc[]

include::search/search-template.asciidoc[]

include::search/search-shards.asciidoc[]

include::search/suggesters.asciidoc[]

include::search/multi-search.asciidoc[]

include::eql/eql-search-api.asciidoc[]

include::eql/get-async-eql-search-api.asciidoc[]

include::eql/delete-async-eql-search-api.asciidoc[]

include::search/count.asciidoc[]

include::search/validate.asciidoc[]

include::search/explain.asciidoc[]

include::search/profile.asciidoc[]

include::search/field-caps.asciidoc[]

include::search/rank-eval.asciidoc[]