Downsample index API
editDownsample index API
editAggregates a time series (TSDS) index and stores
pre-computed statistical summaries (min
, max
, sum
, value_count
and
avg
) for each metric field grouped by a configured time interval. For example,
a TSDS index that contains metrics sampled every 10 seconds can be downsampled
to an hourly index. All documents within an hour interval are summarized and
stored as a single document in the downsample index.
resp = client.indices.downsample( index="my-time-series-index", target_index="my-downsampled-time-series-index", config={ "fixed_interval": "1d" }, ) print(resp)
response = client.indices.downsample( index: 'my-time-series-index', target_index: 'my-downsampled-time-series-index', body: { fixed_interval: '1d' } ) puts response
const response = await client.indices.downsample({ index: "my-time-series-index", target_index: "my-downsampled-time-series-index", config: { fixed_interval: "1d", }, }); console.log(response);
POST /my-time-series-index/_downsample/my-downsampled-time-series-index { "fixed_interval": "1d" }
Check the Downsampling documentation for an overview, details about the downsampling process, and examples of running downsampling manually and as part of an ILM policy.
Request
editPOST /<source-index>/_downsample/<output-downsampled-index>
Prerequisites
edit- Only indices in a time series data stream are supported.
-
If the Elasticsearch security features are enabled, you must have the
all
ormanage
index privilege for the data stream. - Neither field nor document level security can be defined on the source index.
-
The source index must be read only (
index.blocks.write: true
).
Path parameters
edit-
<source-index>
- (Optional, string) Name of the time series index to downsample.
-
<output-downsampled_index>
-
(Required, string) Name of the index to create.
Index names must meet the following criteria:
- Lowercase only
-
Cannot include
\
,/
,*
,?
,"
,<
,>
,|
, ` ` (space character),,
,#
-
Indices prior to 7.0 could contain a colon (
:
), but that’s been deprecated and won’t be supported in 7.0+ -
Cannot start with
-
,_
,+
-
Cannot be
.
or..
- Cannot be longer than 255 bytes (note it is bytes, so multi-byte characters will count towards the 255 limit faster)
-
Names starting with
.
are deprecated, except for hidden indices and internal indices managed by plugins
Query parameters
edit-
fixed_interval
-
(Required, time units) The interval at which to aggregate the original time series index. For example,
60m
produces a document for each 60 minute (hourly) interval. This follows standard time formatting syntax as used elsewhere in Elasticsearch.Smaller, more granular intervals take up proportionally more space.