elasticsearch 8.17.0__py3-none-any.whl → 8.17.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- elasticsearch/__init__.py +2 -2
- elasticsearch/_async/client/__init__.py +2034 -740
- elasticsearch/_async/client/async_search.py +33 -22
- elasticsearch/_async/client/autoscaling.py +27 -21
- elasticsearch/_async/client/cat.py +280 -336
- elasticsearch/_async/client/ccr.py +96 -70
- elasticsearch/_async/client/cluster.py +152 -144
- elasticsearch/_async/client/connector.py +488 -55
- elasticsearch/_async/client/dangling_indices.py +22 -16
- elasticsearch/_async/client/enrich.py +25 -6
- elasticsearch/_async/client/eql.py +22 -9
- elasticsearch/_async/client/esql.py +295 -3
- elasticsearch/_async/client/features.py +25 -25
- elasticsearch/_async/client/fleet.py +15 -9
- elasticsearch/_async/client/graph.py +9 -8
- elasticsearch/_async/client/ilm.py +91 -61
- elasticsearch/_async/client/indices.py +746 -324
- elasticsearch/_async/client/inference.py +101 -4
- elasticsearch/_async/client/ingest.py +231 -19
- elasticsearch/_async/client/license.py +48 -31
- elasticsearch/_async/client/logstash.py +20 -6
- elasticsearch/_async/client/migration.py +25 -7
- elasticsearch/_async/client/ml.py +532 -278
- elasticsearch/_async/client/monitoring.py +5 -1
- elasticsearch/_async/client/nodes.py +46 -30
- elasticsearch/_async/client/query_rules.py +65 -18
- elasticsearch/_async/client/rollup.py +126 -13
- elasticsearch/_async/client/search_application.py +170 -13
- elasticsearch/_async/client/searchable_snapshots.py +45 -23
- elasticsearch/_async/client/security.py +1299 -340
- elasticsearch/_async/client/shutdown.py +43 -15
- elasticsearch/_async/client/simulate.py +145 -0
- elasticsearch/_async/client/slm.py +163 -19
- elasticsearch/_async/client/snapshot.py +288 -23
- elasticsearch/_async/client/sql.py +94 -53
- elasticsearch/_async/client/ssl.py +16 -17
- elasticsearch/_async/client/synonyms.py +67 -26
- elasticsearch/_async/client/tasks.py +103 -28
- elasticsearch/_async/client/text_structure.py +475 -46
- elasticsearch/_async/client/transform.py +108 -72
- elasticsearch/_async/client/watcher.py +245 -43
- elasticsearch/_async/client/xpack.py +20 -6
- elasticsearch/_async/helpers.py +1 -1
- elasticsearch/_sync/client/__init__.py +2034 -740
- elasticsearch/_sync/client/async_search.py +33 -22
- elasticsearch/_sync/client/autoscaling.py +27 -21
- elasticsearch/_sync/client/cat.py +280 -336
- elasticsearch/_sync/client/ccr.py +96 -70
- elasticsearch/_sync/client/cluster.py +152 -144
- elasticsearch/_sync/client/connector.py +488 -55
- elasticsearch/_sync/client/dangling_indices.py +22 -16
- elasticsearch/_sync/client/enrich.py +25 -6
- elasticsearch/_sync/client/eql.py +22 -9
- elasticsearch/_sync/client/esql.py +295 -3
- elasticsearch/_sync/client/features.py +25 -25
- elasticsearch/_sync/client/fleet.py +15 -9
- elasticsearch/_sync/client/graph.py +9 -8
- elasticsearch/_sync/client/ilm.py +91 -61
- elasticsearch/_sync/client/indices.py +746 -324
- elasticsearch/_sync/client/inference.py +101 -4
- elasticsearch/_sync/client/ingest.py +231 -19
- elasticsearch/_sync/client/license.py +48 -31
- elasticsearch/_sync/client/logstash.py +20 -6
- elasticsearch/_sync/client/migration.py +25 -7
- elasticsearch/_sync/client/ml.py +532 -278
- elasticsearch/_sync/client/monitoring.py +5 -1
- elasticsearch/_sync/client/nodes.py +46 -30
- elasticsearch/_sync/client/query_rules.py +65 -18
- elasticsearch/_sync/client/rollup.py +126 -13
- elasticsearch/_sync/client/search_application.py +170 -13
- elasticsearch/_sync/client/searchable_snapshots.py +45 -23
- elasticsearch/_sync/client/security.py +1299 -340
- elasticsearch/_sync/client/shutdown.py +43 -15
- elasticsearch/_sync/client/simulate.py +145 -0
- elasticsearch/_sync/client/slm.py +163 -19
- elasticsearch/_sync/client/snapshot.py +288 -23
- elasticsearch/_sync/client/sql.py +94 -53
- elasticsearch/_sync/client/ssl.py +16 -17
- elasticsearch/_sync/client/synonyms.py +67 -26
- elasticsearch/_sync/client/tasks.py +103 -28
- elasticsearch/_sync/client/text_structure.py +475 -46
- elasticsearch/_sync/client/transform.py +108 -72
- elasticsearch/_sync/client/utils.py +1 -1
- elasticsearch/_sync/client/watcher.py +245 -43
- elasticsearch/_sync/client/xpack.py +20 -6
- elasticsearch/_version.py +1 -1
- elasticsearch/client.py +4 -0
- elasticsearch/helpers/actions.py +1 -1
- elasticsearch/helpers/vectorstore/_sync/vectorstore.py +4 -1
- {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/METADATA +1 -1
- elasticsearch-8.17.2.dist-info/RECORD +119 -0
- elasticsearch-8.17.0.dist-info/RECORD +0 -117
- {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/WHEEL +0 -0
- {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/licenses/LICENSE +0 -0
- {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/licenses/NOTICE +0 -0
|
@@ -42,7 +42,11 @@ class MonitoringClient(NamespacedClient):
|
|
|
42
42
|
pretty: t.Optional[bool] = None,
|
|
43
43
|
) -> ObjectApiResponse[t.Any]:
|
|
44
44
|
"""
|
|
45
|
-
|
|
45
|
+
.. raw:: html
|
|
46
|
+
|
|
47
|
+
<p>Send monitoring data.
|
|
48
|
+
This API is used by the monitoring features to send monitoring data.</p>
|
|
49
|
+
|
|
46
50
|
|
|
47
51
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/monitor-elasticsearch-cluster.html>`_
|
|
48
52
|
|
|
@@ -44,15 +44,18 @@ class NodesClient(NamespacedClient):
|
|
|
44
44
|
pretty: t.Optional[bool] = None,
|
|
45
45
|
) -> ObjectApiResponse[t.Any]:
|
|
46
46
|
"""
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
.. raw:: html
|
|
48
|
+
|
|
49
|
+
<p>Clear the archived repositories metering.
|
|
50
|
+
Clear the archived repositories metering information in the cluster.</p>
|
|
51
|
+
|
|
49
52
|
|
|
50
53
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clear-repositories-metering-archive-api.html>`_
|
|
51
54
|
|
|
52
55
|
:param node_id: Comma-separated list of node IDs or names used to limit returned
|
|
53
|
-
information.
|
|
54
|
-
:param max_archive_version: Specifies the maximum
|
|
55
|
-
|
|
56
|
+
information.
|
|
57
|
+
:param max_archive_version: Specifies the maximum `archive_version` to be cleared
|
|
58
|
+
from the archive.
|
|
56
59
|
"""
|
|
57
60
|
if node_id in SKIP_IN_PATH:
|
|
58
61
|
raise ValueError("Empty value passed for parameter 'node_id'")
|
|
@@ -94,11 +97,13 @@ class NodesClient(NamespacedClient):
|
|
|
94
97
|
pretty: t.Optional[bool] = None,
|
|
95
98
|
) -> ObjectApiResponse[t.Any]:
|
|
96
99
|
"""
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
.. raw:: html
|
|
101
|
+
|
|
102
|
+
<p>Get cluster repositories metering.
|
|
103
|
+
Get repositories metering information for a cluster.
|
|
104
|
+
This API exposes monotonically non-decreasing counters and it is expected that clients would durably store the information needed to compute aggregations over a period of time.
|
|
105
|
+
Additionally, the information exposed by this API is volatile, meaning that it will not be present after node restarts.</p>
|
|
106
|
+
|
|
102
107
|
|
|
103
108
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-repositories-metering-api.html>`_
|
|
104
109
|
|
|
@@ -151,9 +156,12 @@ class NodesClient(NamespacedClient):
|
|
|
151
156
|
] = None,
|
|
152
157
|
) -> TextApiResponse:
|
|
153
158
|
"""
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
159
|
+
.. raw:: html
|
|
160
|
+
|
|
161
|
+
<p>Get the hot threads for nodes.
|
|
162
|
+
Get a breakdown of the hot threads on each selected node in the cluster.
|
|
163
|
+
The output is plain text with a breakdown of the top hot threads for each node.</p>
|
|
164
|
+
|
|
157
165
|
|
|
158
166
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-hot-threads.html>`_
|
|
159
167
|
|
|
@@ -228,8 +236,11 @@ class NodesClient(NamespacedClient):
|
|
|
228
236
|
timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
|
|
229
237
|
) -> ObjectApiResponse[t.Any]:
|
|
230
238
|
"""
|
|
231
|
-
|
|
232
|
-
|
|
239
|
+
.. raw:: html
|
|
240
|
+
|
|
241
|
+
<p>Get node information.
|
|
242
|
+
By default, the API returns all attributes and core settings for cluster nodes.</p>
|
|
243
|
+
|
|
233
244
|
|
|
234
245
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-info.html>`_
|
|
235
246
|
|
|
@@ -298,18 +309,16 @@ class NodesClient(NamespacedClient):
|
|
|
298
309
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
299
310
|
) -> ObjectApiResponse[t.Any]:
|
|
300
311
|
"""
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
by locally accessing the API and passing the node-specific Elasticsearch keystore
|
|
312
|
-
password.
|
|
312
|
+
.. raw:: html
|
|
313
|
+
|
|
314
|
+
<p>Reload the keystore on nodes in the cluster.</p>
|
|
315
|
+
<p>Secure settings are stored in an on-disk keystore. Certain of these settings are reloadable.
|
|
316
|
+
That is, you can change them on disk and reload them without restarting any nodes in the cluster.
|
|
317
|
+
When you have updated reloadable secure settings in your keystore, you can use this API to reload those settings on each node.</p>
|
|
318
|
+
<p>When the Elasticsearch keystore is password protected and not simply obfuscated, you must provide the password for the keystore when you reload the secure settings.
|
|
319
|
+
Reloading the settings for the whole cluster assumes that the keystores for all nodes are protected with the same password; this method is allowed only when inter-node communications are encrypted.
|
|
320
|
+
Alternatively, you can reload the secure settings on each node by locally accessing the API and passing the node-specific Elasticsearch keystore password.</p>
|
|
321
|
+
|
|
313
322
|
|
|
314
323
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/secure-settings.html#reloadable-secure-settings>`_
|
|
315
324
|
|
|
@@ -380,8 +389,12 @@ class NodesClient(NamespacedClient):
|
|
|
380
389
|
types: t.Optional[t.Sequence[str]] = None,
|
|
381
390
|
) -> ObjectApiResponse[t.Any]:
|
|
382
391
|
"""
|
|
383
|
-
|
|
384
|
-
|
|
392
|
+
.. raw:: html
|
|
393
|
+
|
|
394
|
+
<p>Get node statistics.
|
|
395
|
+
Get statistics for nodes in a cluster.
|
|
396
|
+
By default, all stats are returned. You can limit the returned information by using metrics.</p>
|
|
397
|
+
|
|
385
398
|
|
|
386
399
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-stats.html>`_
|
|
387
400
|
|
|
@@ -498,7 +511,10 @@ class NodesClient(NamespacedClient):
|
|
|
498
511
|
timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
|
|
499
512
|
) -> ObjectApiResponse[t.Any]:
|
|
500
513
|
"""
|
|
501
|
-
|
|
514
|
+
.. raw:: html
|
|
515
|
+
|
|
516
|
+
<p>Get feature usage information.</p>
|
|
517
|
+
|
|
502
518
|
|
|
503
519
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-usage.html>`_
|
|
504
520
|
|
|
@@ -37,7 +37,12 @@ class QueryRulesClient(NamespacedClient):
|
|
|
37
37
|
pretty: t.Optional[bool] = None,
|
|
38
38
|
) -> ObjectApiResponse[t.Any]:
|
|
39
39
|
"""
|
|
40
|
-
|
|
40
|
+
.. raw:: html
|
|
41
|
+
|
|
42
|
+
<p>Delete a query rule.
|
|
43
|
+
Delete a query rule within a query ruleset.
|
|
44
|
+
This is a destructive action that is only recoverable by re-adding the same rule with the create or update query rule API.</p>
|
|
45
|
+
|
|
41
46
|
|
|
42
47
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-query-rule.html>`_
|
|
43
48
|
|
|
@@ -85,7 +90,12 @@ class QueryRulesClient(NamespacedClient):
|
|
|
85
90
|
pretty: t.Optional[bool] = None,
|
|
86
91
|
) -> ObjectApiResponse[t.Any]:
|
|
87
92
|
"""
|
|
88
|
-
|
|
93
|
+
.. raw:: html
|
|
94
|
+
|
|
95
|
+
<p>Delete a query ruleset.
|
|
96
|
+
Remove a query ruleset and its associated data.
|
|
97
|
+
This is a destructive action that is not recoverable.</p>
|
|
98
|
+
|
|
89
99
|
|
|
90
100
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-query-ruleset.html>`_
|
|
91
101
|
|
|
@@ -126,7 +136,11 @@ class QueryRulesClient(NamespacedClient):
|
|
|
126
136
|
pretty: t.Optional[bool] = None,
|
|
127
137
|
) -> ObjectApiResponse[t.Any]:
|
|
128
138
|
"""
|
|
129
|
-
|
|
139
|
+
.. raw:: html
|
|
140
|
+
|
|
141
|
+
<p>Get a query rule.
|
|
142
|
+
Get details about a query rule within a query ruleset.</p>
|
|
143
|
+
|
|
130
144
|
|
|
131
145
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-query-rule.html>`_
|
|
132
146
|
|
|
@@ -174,7 +188,11 @@ class QueryRulesClient(NamespacedClient):
|
|
|
174
188
|
pretty: t.Optional[bool] = None,
|
|
175
189
|
) -> ObjectApiResponse[t.Any]:
|
|
176
190
|
"""
|
|
177
|
-
|
|
191
|
+
.. raw:: html
|
|
192
|
+
|
|
193
|
+
<p>Get a query ruleset.
|
|
194
|
+
Get details about a query ruleset.</p>
|
|
195
|
+
|
|
178
196
|
|
|
179
197
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-query-ruleset.html>`_
|
|
180
198
|
|
|
@@ -217,12 +235,16 @@ class QueryRulesClient(NamespacedClient):
|
|
|
217
235
|
size: t.Optional[int] = None,
|
|
218
236
|
) -> ObjectApiResponse[t.Any]:
|
|
219
237
|
"""
|
|
220
|
-
|
|
238
|
+
.. raw:: html
|
|
239
|
+
|
|
240
|
+
<p>Get all query rulesets.
|
|
241
|
+
Get summarized information about the query rulesets.</p>
|
|
242
|
+
|
|
221
243
|
|
|
222
244
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/list-query-rulesets.html>`_
|
|
223
245
|
|
|
224
|
-
:param from_:
|
|
225
|
-
:param size:
|
|
246
|
+
:param from_: The offset from the first result to fetch.
|
|
247
|
+
:param size: The maximum number of results to retrieve.
|
|
226
248
|
"""
|
|
227
249
|
__path_parts: t.Dict[str, str] = {}
|
|
228
250
|
__path = "/_query_rules"
|
|
@@ -270,17 +292,28 @@ class QueryRulesClient(NamespacedClient):
|
|
|
270
292
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
271
293
|
) -> ObjectApiResponse[t.Any]:
|
|
272
294
|
"""
|
|
273
|
-
|
|
295
|
+
.. raw:: html
|
|
296
|
+
|
|
297
|
+
<p>Create or update a query rule.
|
|
298
|
+
Create or update a query rule within a query ruleset.</p>
|
|
299
|
+
<p>IMPORTANT: Due to limitations within pinned queries, you can only pin documents using ids or docs, but cannot use both in single rule.
|
|
300
|
+
It is advised to use one or the other in query rulesets, to avoid errors.
|
|
301
|
+
Additionally, pinned queries have a maximum limit of 100 pinned hits.
|
|
302
|
+
If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.</p>
|
|
303
|
+
|
|
274
304
|
|
|
275
305
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-query-rule.html>`_
|
|
276
306
|
|
|
277
307
|
:param ruleset_id: The unique identifier of the query ruleset containing the
|
|
278
|
-
rule to be created or updated
|
|
308
|
+
rule to be created or updated.
|
|
279
309
|
:param rule_id: The unique identifier of the query rule within the specified
|
|
280
|
-
ruleset to be created or updated
|
|
281
|
-
:param actions:
|
|
282
|
-
|
|
283
|
-
:param
|
|
310
|
+
ruleset to be created or updated.
|
|
311
|
+
:param actions: The actions to take when the rule is matched. The format of this
|
|
312
|
+
action depends on the rule type.
|
|
313
|
+
:param criteria: The criteria that must be met for the rule to be applied. If
|
|
314
|
+
multiple criteria are specified for a rule, all criteria must be met for
|
|
315
|
+
the rule to be applied.
|
|
316
|
+
:param type: The type of rule.
|
|
284
317
|
:param priority:
|
|
285
318
|
"""
|
|
286
319
|
if ruleset_id in SKIP_IN_PATH:
|
|
@@ -345,12 +378,21 @@ class QueryRulesClient(NamespacedClient):
|
|
|
345
378
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
346
379
|
) -> ObjectApiResponse[t.Any]:
|
|
347
380
|
"""
|
|
348
|
-
|
|
381
|
+
.. raw:: html
|
|
382
|
+
|
|
383
|
+
<p>Create or update a query ruleset.
|
|
384
|
+
There is a limit of 100 rules per ruleset.
|
|
385
|
+
This limit can be increased by using the <code>xpack.applications.rules.max_rules_per_ruleset</code> cluster setting.</p>
|
|
386
|
+
<p>IMPORTANT: Due to limitations within pinned queries, you can only select documents using <code>ids</code> or <code>docs</code>, but cannot use both in single rule.
|
|
387
|
+
It is advised to use one or the other in query rulesets, to avoid errors.
|
|
388
|
+
Additionally, pinned queries have a maximum limit of 100 pinned hits.
|
|
389
|
+
If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.</p>
|
|
390
|
+
|
|
349
391
|
|
|
350
392
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-query-ruleset.html>`_
|
|
351
393
|
|
|
352
394
|
:param ruleset_id: The unique identifier of the query ruleset to be created or
|
|
353
|
-
updated
|
|
395
|
+
updated.
|
|
354
396
|
:param rules:
|
|
355
397
|
"""
|
|
356
398
|
if ruleset_id in SKIP_IN_PATH:
|
|
@@ -398,14 +440,19 @@ class QueryRulesClient(NamespacedClient):
|
|
|
398
440
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
399
441
|
) -> ObjectApiResponse[t.Any]:
|
|
400
442
|
"""
|
|
401
|
-
|
|
402
|
-
|
|
443
|
+
.. raw:: html
|
|
444
|
+
|
|
445
|
+
<p>Test a query ruleset.
|
|
446
|
+
Evaluate match criteria against a query ruleset to identify the rules that would match that criteria.</p>
|
|
447
|
+
|
|
403
448
|
|
|
404
449
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/test-query-ruleset.html>`_
|
|
405
450
|
|
|
406
451
|
:param ruleset_id: The unique identifier of the query ruleset to be created or
|
|
407
452
|
updated
|
|
408
|
-
:param match_criteria:
|
|
453
|
+
:param match_criteria: The match criteria to apply to rules in the given query
|
|
454
|
+
ruleset. Match criteria should match the keys defined in the `criteria.metadata`
|
|
455
|
+
field of the rule.
|
|
409
456
|
"""
|
|
410
457
|
if ruleset_id in SKIP_IN_PATH:
|
|
411
458
|
raise ValueError("Empty value passed for parameter 'ruleset_id'")
|
|
@@ -43,7 +43,29 @@ class RollupClient(NamespacedClient):
|
|
|
43
43
|
pretty: t.Optional[bool] = None,
|
|
44
44
|
) -> ObjectApiResponse[t.Any]:
|
|
45
45
|
"""
|
|
46
|
-
|
|
46
|
+
.. raw:: html
|
|
47
|
+
|
|
48
|
+
<p>Delete a rollup job.</p>
|
|
49
|
+
<p>A job must be stopped before it can be deleted.
|
|
50
|
+
If you attempt to delete a started job, an error occurs.
|
|
51
|
+
Similarly, if you attempt to delete a nonexistent job, an exception occurs.</p>
|
|
52
|
+
<p>IMPORTANT: When you delete a job, you remove only the process that is actively monitoring and rolling up data.
|
|
53
|
+
The API does not delete any previously rolled up data.
|
|
54
|
+
This is by design; a user may wish to roll up a static data set.
|
|
55
|
+
Because the data set is static, after it has been fully rolled up there is no need to keep the indexing rollup job around (as there will be no new data).
|
|
56
|
+
Thus the job can be deleted, leaving behind the rolled up data for analysis.
|
|
57
|
+
If you wish to also remove the rollup data and the rollup index contains the data for only a single job, you can delete the whole rollup index.
|
|
58
|
+
If the rollup index stores data from several jobs, you must issue a delete-by-query that targets the rollup job's identifier in the rollup index. For example:</p>
|
|
59
|
+
<pre><code>POST my_rollup_index/_delete_by_query
|
|
60
|
+
{
|
|
61
|
+
"query": {
|
|
62
|
+
"term": {
|
|
63
|
+
"_rollup.id": "the_rollup_job_id"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</code></pre>
|
|
68
|
+
|
|
47
69
|
|
|
48
70
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-delete-job.html>`_
|
|
49
71
|
|
|
@@ -84,7 +106,14 @@ class RollupClient(NamespacedClient):
|
|
|
84
106
|
pretty: t.Optional[bool] = None,
|
|
85
107
|
) -> ObjectApiResponse[t.Any]:
|
|
86
108
|
"""
|
|
87
|
-
|
|
109
|
+
.. raw:: html
|
|
110
|
+
|
|
111
|
+
<p>Get rollup job information.
|
|
112
|
+
Get the configuration, stats, and status of rollup jobs.</p>
|
|
113
|
+
<p>NOTE: This API returns only active (both <code>STARTED</code> and <code>STOPPED</code>) jobs.
|
|
114
|
+
If a job was created, ran for a while, then was deleted, the API does not return any details about it.
|
|
115
|
+
For details about a historical rollup job, the rollup capabilities API may be more useful.</p>
|
|
116
|
+
|
|
88
117
|
|
|
89
118
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-job.html>`_
|
|
90
119
|
|
|
@@ -129,8 +158,18 @@ class RollupClient(NamespacedClient):
|
|
|
129
158
|
pretty: t.Optional[bool] = None,
|
|
130
159
|
) -> ObjectApiResponse[t.Any]:
|
|
131
160
|
"""
|
|
132
|
-
|
|
133
|
-
|
|
161
|
+
.. raw:: html
|
|
162
|
+
|
|
163
|
+
<p>Get the rollup job capabilities.
|
|
164
|
+
Get the capabilities of any rollup jobs that have been configured for a specific index or index pattern.</p>
|
|
165
|
+
<p>This API is useful because a rollup job is often configured to rollup only a subset of fields from the source index.
|
|
166
|
+
Furthermore, only certain aggregations can be configured for various fields, leading to a limited subset of functionality depending on that configuration.
|
|
167
|
+
This API enables you to inspect an index and determine:</p>
|
|
168
|
+
<ol>
|
|
169
|
+
<li>Does this index have associated rollup data somewhere in the cluster?</li>
|
|
170
|
+
<li>If yes to the first question, what fields were rolled up, what aggregations can be performed, and where does the data live?</li>
|
|
171
|
+
</ol>
|
|
172
|
+
|
|
134
173
|
|
|
135
174
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-rollup-caps.html>`_
|
|
136
175
|
|
|
@@ -175,8 +214,16 @@ class RollupClient(NamespacedClient):
|
|
|
175
214
|
pretty: t.Optional[bool] = None,
|
|
176
215
|
) -> ObjectApiResponse[t.Any]:
|
|
177
216
|
"""
|
|
178
|
-
|
|
179
|
-
|
|
217
|
+
.. raw:: html
|
|
218
|
+
|
|
219
|
+
<p>Get the rollup index capabilities.
|
|
220
|
+
Get the rollup capabilities of all jobs inside of a rollup index.
|
|
221
|
+
A single rollup index may store the data for multiple rollup jobs and may have a variety of capabilities depending on those jobs. This API enables you to determine:</p>
|
|
222
|
+
<ul>
|
|
223
|
+
<li>What jobs are stored in an index (or indices specified via a pattern)?</li>
|
|
224
|
+
<li>What target indices were rolled up, what fields were used in those rollups, and what aggregations can be performed on each job?</li>
|
|
225
|
+
</ul>
|
|
226
|
+
|
|
180
227
|
|
|
181
228
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-rollup-index-caps.html>`_
|
|
182
229
|
|
|
@@ -239,7 +286,14 @@ class RollupClient(NamespacedClient):
|
|
|
239
286
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
240
287
|
) -> ObjectApiResponse[t.Any]:
|
|
241
288
|
"""
|
|
242
|
-
|
|
289
|
+
.. raw:: html
|
|
290
|
+
|
|
291
|
+
<p>Create a rollup job.</p>
|
|
292
|
+
<p>WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will fail with a message about the deprecation and planned removal of rollup features. A cluster needs to contain either a rollup job or a rollup index in order for this API to be allowed to run.</p>
|
|
293
|
+
<p>The rollup job configuration contains all the details about how the job should run, when it indexes documents, and what future queries will be able to run against the rollup index.</p>
|
|
294
|
+
<p>There are three main sections to the job configuration: the logistical details about the job (for example, the cron schedule), the fields that are used for grouping, and what metrics to collect for each group.</p>
|
|
295
|
+
<p>Jobs are created in a <code>STOPPED</code> state. You can start them with the start rollup jobs API.</p>
|
|
296
|
+
|
|
243
297
|
|
|
244
298
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-put-job.html>`_
|
|
245
299
|
|
|
@@ -356,14 +410,54 @@ class RollupClient(NamespacedClient):
|
|
|
356
410
|
body: t.Optional[t.Dict[str, t.Any]] = None,
|
|
357
411
|
) -> ObjectApiResponse[t.Any]:
|
|
358
412
|
"""
|
|
359
|
-
|
|
413
|
+
.. raw:: html
|
|
414
|
+
|
|
415
|
+
<p>Search rolled-up data.
|
|
416
|
+
The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data.
|
|
417
|
+
It rewrites standard Query DSL into a format that matches the rollup documents then takes the response and rewrites it back to what a client would expect given the original query.</p>
|
|
418
|
+
<p>The request body supports a subset of features from the regular search API.
|
|
419
|
+
The following functionality is not available:</p>
|
|
420
|
+
<p><code>size</code>: Because rollups work on pre-aggregated data, no search hits can be returned and so size must be set to zero or omitted entirely.
|
|
421
|
+
<code>highlighter</code>, <code>suggestors</code>, <code>post_filter</code>, <code>profile</code>, <code>explain</code>: These are similarly disallowed.</p>
|
|
422
|
+
<p><strong>Searching both historical rollup and non-rollup data</strong></p>
|
|
423
|
+
<p>The rollup search API has the capability to search across both "live" non-rollup data and the aggregated rollup data.
|
|
424
|
+
This is done by simply adding the live indices to the URI. For example:</p>
|
|
425
|
+
<pre><code>GET sensor-1,sensor_rollup/_rollup_search
|
|
426
|
+
{
|
|
427
|
+
"size": 0,
|
|
428
|
+
"aggregations": {
|
|
429
|
+
"max_temperature": {
|
|
430
|
+
"max": {
|
|
431
|
+
"field": "temperature"
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
</code></pre>
|
|
437
|
+
<p>The rollup search endpoint does two things when the search runs:</p>
|
|
438
|
+
<ul>
|
|
439
|
+
<li>The original request is sent to the non-rollup index unaltered.</li>
|
|
440
|
+
<li>A rewritten version of the original request is sent to the rollup index.</li>
|
|
441
|
+
</ul>
|
|
442
|
+
<p>When the two responses are received, the endpoint rewrites the rollup response and merges the two together.
|
|
443
|
+
During the merging process, if there is any overlap in buckets between the two responses, the buckets from the non-rollup index are used.</p>
|
|
444
|
+
|
|
360
445
|
|
|
361
446
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-search.html>`_
|
|
362
447
|
|
|
363
|
-
:param index:
|
|
448
|
+
:param index: A comma-separated list of data streams and indices used to limit
|
|
449
|
+
the request. This parameter has the following rules: * At least one data
|
|
450
|
+
stream, index, or wildcard expression must be specified. This target can
|
|
451
|
+
include a rollup or non-rollup index. For data streams, the stream's backing
|
|
452
|
+
indices can only serve as non-rollup indices. Omitting the parameter or using
|
|
453
|
+
`_all` are not permitted. * Multiple non-rollup indices may be specified.
|
|
454
|
+
* Only one rollup index may be specified. If more than one are supplied,
|
|
455
|
+
an exception occurs. * Wildcard expressions (`*`) may be used. If they match
|
|
456
|
+
more than one rollup index, an exception occurs. However, you can use an
|
|
457
|
+
expression to match multiple non-rollup indices or data streams.
|
|
364
458
|
:param aggregations: Specifies aggregations.
|
|
365
459
|
:param aggs: Specifies aggregations.
|
|
366
|
-
:param query: Specifies a DSL query.
|
|
460
|
+
:param query: Specifies a DSL query that is subject to some limitations.
|
|
367
461
|
:param rest_total_hits_as_int: Indicates whether hits.total should be rendered
|
|
368
462
|
as an integer or an object in the rest search response
|
|
369
463
|
:param size: Must be zero if set, as rollups work on pre-aggregated data.
|
|
@@ -420,7 +514,12 @@ class RollupClient(NamespacedClient):
|
|
|
420
514
|
pretty: t.Optional[bool] = None,
|
|
421
515
|
) -> ObjectApiResponse[t.Any]:
|
|
422
516
|
"""
|
|
423
|
-
|
|
517
|
+
.. raw:: html
|
|
518
|
+
|
|
519
|
+
<p>Start rollup jobs.
|
|
520
|
+
If you try to start a job that does not exist, an exception occurs.
|
|
521
|
+
If you try to start a job that is already started, nothing happens.</p>
|
|
522
|
+
|
|
424
523
|
|
|
425
524
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-start-job.html>`_
|
|
426
525
|
|
|
@@ -463,14 +562,28 @@ class RollupClient(NamespacedClient):
|
|
|
463
562
|
wait_for_completion: t.Optional[bool] = None,
|
|
464
563
|
) -> ObjectApiResponse[t.Any]:
|
|
465
564
|
"""
|
|
466
|
-
|
|
565
|
+
.. raw:: html
|
|
566
|
+
|
|
567
|
+
<p>Stop rollup jobs.
|
|
568
|
+
If you try to stop a job that does not exist, an exception occurs.
|
|
569
|
+
If you try to stop a job that is already stopped, nothing happens.</p>
|
|
570
|
+
<p>Since only a stopped job can be deleted, it can be useful to block the API until the indexer has fully stopped.
|
|
571
|
+
This is accomplished with the <code>wait_for_completion</code> query parameter, and optionally a timeout. For example:</p>
|
|
572
|
+
<pre><code>POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s
|
|
573
|
+
</code></pre>
|
|
574
|
+
<p>The parameter blocks the API call from returning until either the job has moved to STOPPED or the specified time has elapsed.
|
|
575
|
+
If the specified time elapses without the job moving to STOPPED, a timeout exception occurs.</p>
|
|
576
|
+
|
|
467
577
|
|
|
468
578
|
`<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-stop-job.html>`_
|
|
469
579
|
|
|
470
580
|
:param id: Identifier for the rollup job.
|
|
471
581
|
:param timeout: If `wait_for_completion` is `true`, the API blocks for (at maximum)
|
|
472
582
|
the specified duration while waiting for the job to stop. If more than `timeout`
|
|
473
|
-
time has passed, the API throws a timeout exception.
|
|
583
|
+
time has passed, the API throws a timeout exception. NOTE: Even if a timeout
|
|
584
|
+
occurs, the stop request is still processing and eventually moves the job
|
|
585
|
+
to STOPPED. The timeout simply means the API call itself timed out while
|
|
586
|
+
waiting for the status change.
|
|
474
587
|
:param wait_for_completion: If set to `true`, causes the API to block until the
|
|
475
588
|
indexer state completely stops. If set to `false`, the API returns immediately
|
|
476
589
|
and the indexer is stopped asynchronously in the background.
|