2013-08-28 19:24:34 -04:00
|
|
|
[[search-count]]
|
2019-07-19 14:35:36 -04:00
|
|
|
=== Count API
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2019-09-17 03:53:03 -04:00
|
|
|
Gets the number of matches for a search query.
|
|
|
|
|
|
|
|
[source,console]
|
|
|
|
--------------------------------------------------
|
|
|
|
GET /twitter/_count?q=user:kimchy
|
|
|
|
--------------------------------------------------
|
|
|
|
// TEST[setup:twitter]
|
|
|
|
|
|
|
|
NOTE: The query being sent in the body must be nested in a `query` key, same as
|
|
|
|
the <<search-search,search api>> works.
|
|
|
|
|
|
|
|
|
|
|
|
[[search-count-api-request]]
|
|
|
|
==== {api-request-title}
|
|
|
|
|
2020-06-30 15:52:34 -04:00
|
|
|
`GET /<target>/_count`
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
[[search-count-api-desc]]
|
|
|
|
==== {api-description-title}
|
|
|
|
|
|
|
|
The count API allows you to execute a query and get the number of matches for
|
2020-06-30 15:52:34 -04:00
|
|
|
that query. The query can either
|
2019-09-17 03:53:03 -04:00
|
|
|
be provided using a simple query string as a parameter, or using the
|
|
|
|
<<query-dsl,Query DSL>> defined within the request body.
|
|
|
|
|
2020-06-30 15:52:34 -04:00
|
|
|
The count API supports <<multi-index,multi-target syntax>>. You can run a single
|
|
|
|
count API search across multiple data streams and indices.
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
The operation is broadcast across all shards. For each shard id group, a replica
|
|
|
|
is chosen and executed against it. This means that replicas increase the
|
|
|
|
scalability of count.
|
|
|
|
|
|
|
|
|
|
|
|
[[search-count-api-path-params]]
|
|
|
|
==== {api-path-parms-title}
|
|
|
|
|
2020-06-30 15:52:34 -04:00
|
|
|
`<target>`::
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-30 15:52:34 -04:00
|
|
|
(Optional, string)
|
|
|
|
Comma-separated list or wildcard (`*`) expression of data streams, indices,
|
|
|
|
and index aliases used to limit the search.
|
|
|
|
+
|
|
|
|
To search all data streams and indices in a cluster, omit this parameter or use
|
|
|
|
`_all` or `*`.
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
[[search-count-api-query-params]]
|
|
|
|
==== {api-query-parms-title}
|
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=allow-no-indices]
|
2020-02-24 05:57:32 -05:00
|
|
|
+
|
|
|
|
Defaults to `true`.
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=analyzer]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=analyze_wildcard]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=default_operator]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=df]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=expand-wildcards]
|
2019-09-17 03:53:03 -04:00
|
|
|
+
|
|
|
|
Defaults to `open`.
|
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=ignore_throttled]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=lenient]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
`min_score`::
|
|
|
|
(Optional, float)
|
|
|
|
Sets the minimum `_score` value that documents must have to be included in the
|
|
|
|
result.
|
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=preference]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=search-q]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=routing]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=terminate_after]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
[[search-count-request-body]]
|
|
|
|
==== {api-request-body-title}
|
|
|
|
|
2020-06-01 19:42:53 -04:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=query]
|
2019-09-17 03:53:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
[[search-count-api-example]]
|
|
|
|
==== {api-examples-title}
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2019-09-06 16:09:09 -04:00
|
|
|
[source,console]
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
2017-12-14 11:47:53 -05:00
|
|
|
PUT /twitter/_doc/1?refresh
|
2016-05-18 07:36:19 -04:00
|
|
|
{
|
|
|
|
"user": "kimchy"
|
|
|
|
}
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2018-11-16 16:04:43 -05:00
|
|
|
GET /twitter/_count?q=user:kimchy
|
2016-05-18 07:36:19 -04:00
|
|
|
|
2018-11-16 16:04:43 -05:00
|
|
|
GET /twitter/_count
|
2013-08-28 19:24:34 -04:00
|
|
|
{
|
2014-02-13 07:36:20 -05:00
|
|
|
"query" : {
|
|
|
|
"term" : { "user" : "kimchy" }
|
|
|
|
}
|
2016-05-18 07:36:19 -04:00
|
|
|
}
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
|
|
|
|
2019-09-17 03:53:03 -04:00
|
|
|
Both examples above do the same: count the number of tweets from the `twitter`
|
|
|
|
index for a certain user. The API returns the following response:
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2019-09-06 09:22:08 -04:00
|
|
|
[source,console-result]
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"count" : 1,
|
|
|
|
"_shards" : {
|
2018-05-14 12:22:35 -04:00
|
|
|
"total" : 1,
|
|
|
|
"successful" : 1,
|
2017-07-12 16:19:20 -04:00
|
|
|
"skipped" : 0,
|
2013-08-28 19:24:34 -04:00
|
|
|
"failed" : 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
The query is optional, and when not provided, it will use `match_all` to
|
|
|
|
count all the docs.
|