elasticsearch/docs/reference/ml/df-analytics/apis/get-dfanalytics.asciidoc
Benjamin Trent b9dc522cb4
[7.x] [ML] adding new flag exclude_generated that removes generated fields in GET config APIs (#63899)(#63092) (#63177)
* [ML] adding for_export flag for ml plugin GET resource APIs (#63092)

This adds the new `for_export` flag to the following APIs:

- GET _ml/anomaly_detection/<job_id>
- GET _ml/datafeeds/<datafeed_id>
- GET _ml/data_frame/analytics/<analytics_id>

The flag is designed for cloning or exporting configuration objects to later be put into the same cluster or a separate cluster.

The following fields are not returned in the objects:

- any field that is not user settable (e.g. version, create_time)
- any field that is a calculated default value (e.g. datafeed chunking_config)
- any field that would effectively require changing to be of use (e.g. datafeed job_id)
- any field that is automatically set via another Elastic stack process (e.g. anomaly job custom_settings.created_by)

closes https://github.com/elastic/elasticsearch/issues/63055

* [ML] adding new flag exclude_generated that removes generated fields in GET config APIs (#63899)

When exporting and cloning ml configurations in a cluster it can be
frustrating to remove all the fields that were generated by
the plugin. Especially as the number of these fields change
from version to version.

This flag, exclude_generated, allows the GET config APIs to return
configurations with these generated fields removed.

APIs supporting this flag:
- GET _ml/anomaly_detection/<job_id>
- GET _ml/datafeeds/<datafeed_id>
- GET _ml/data_frame/analytics/<analytics_id>

The following fields are not returned in the objects:

- any field that is not user settable (e.g. version, create_time)
- any field that is a calculated default value (e.g. datafeed chunking_config)
- any field that is automatically set via another Elastic stack process (e.g. anomaly job custom_settings.created_by)

relates to #63055
2020-10-20 12:42:52 -04:00

219 lines
5.3 KiB
Text

[role="xpack"]
[testenv="platinum"]
[[get-dfanalytics]]
= Get {dfanalytics-jobs} API
[subs="attributes"]
++++
<titleabbrev>Get {dfanalytics-jobs}</titleabbrev>
++++
Retrieves configuration information for {dfanalytics-jobs}.
experimental[]
[[ml-get-dfanalytics-request]]
== {api-request-title}
`GET _ml/data_frame/analytics/<data_frame_analytics_id>` +
`GET _ml/data_frame/analytics/<data_frame_analytics_id>,<data_frame_analytics_id>` +
`GET _ml/data_frame/analytics/` +
`GET _ml/data_frame/analytics/_all`
[[ml-get-dfanalytics-prereq]]
== {api-prereq-title}
If the {es} {security-features} are enabled, you must have the following privileges:
* cluster: `monitor_ml`
For more information, see <<security-privileges>> and {ml-docs-setup-privileges}.
[[ml-get-dfanalytics-desc]]
== {api-description-title}
You can get information for multiple {dfanalytics-jobs} in a single API request
by using a comma-separated list of {dfanalytics-jobs} or a wildcard expression.
[[ml-get-dfanalytics-path-params]]
== {api-path-parms-title}
`<data_frame_analytics_id>`::
(Optional, string)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-data-frame-analytics-default]
+
--
You can get information for all {dfanalytics-jobs} by using _all, by specifying
`*` as the `<data_frame_analytics_id>`, or by omitting the
`<data_frame_analytics_id>`.
--
[[ml-get-dfanalytics-query-params]]
== {api-query-parms-title}
`allow_no_match`::
(Optional, boolean)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=allow-no-match]
`from`::
(Optional, integer)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=from]
`size`::
(Optional, integer)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=size]
`exclude_generated`::
(Optional, boolean)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=exclude-generated]
[role="child_attributes"]
[[ml-get-dfanalytics-results]]
== {api-response-body-title}
`data_frame_analytics`::
(array)
An array of {dfanalytics-job} resources, which are sorted by the `id` value in
ascending order.
+
.Properties of {dfanalytics-job} resources
[%collapsible%open]
====
`analysis`:::
(object) The type of analysis that is performed on the `source`.
//Begin analyzed_fields
`analyzed_fields`:::
(object) Contains `includes` and/or `excludes` patterns that select which fields
are included in the analysis.
+
.Properties of `analyzed_fields`
[%collapsible%open]
=====
`excludes`:::
(Optional, array) An array of strings that defines the fields that are excluded
from the analysis.
`includes`:::
(Optional, array) An array of strings that defines the fields that are included
in the analysis.
=====
//End analyzed_fields
//Begin dest
`dest`:::
(string) The destination configuration of the analysis.
+
.Properties of `dest`
[%collapsible%open]
=====
`index`:::
(string) The _destination index_ that stores the results of the
{dfanalytics-job}.
`results_field`:::
(string) The name of the field that stores the results of the analysis. Defaults
to `ml`.
=====
//End dest
`id`:::
(string) The unique identifier of the {dfanalytics-job}.
`model_memory_limit`:::
(string) The `model_memory_limit` that has been set to the {dfanalytics-job}.
`source`:::
(object) The configuration of how the analysis data is sourced. It has an
`index` parameter and optionally a `query` and a `_source`.
+
.Properties of `source`
[%collapsible%open]
=====
`index`:::
(array) Index or indices on which to perform the analysis. It can be a single
index or index pattern as well as an array of indices or patterns.
`query`:::
(object) The query that has been specified for the {dfanalytics-job}. The {es}
query domain-specific language (<<query-dsl,DSL>>). This value corresponds to
the query object in an {es} search POST body. By default, this property has the
following value: `{"match_all": {}}`.
`_source`:::
(object) Contains the specified `includes` and/or `excludes` patterns that
select which fields are present in the destination. Fields that are excluded
cannot be included in the analysis.
+
.Properties of `_source`
[%collapsible%open]
======
`excludes`:::
(array) An array of strings that defines the fields that are excluded from the
destination.
`includes`:::
(array) An array of strings that defines the fields that are included in the
destination.
======
//End of _source
=====
//End source
====
[[ml-get-dfanalytics-response-codes]]
== {api-response-codes-title}
`404` (Missing resources)::
If `allow_no_match` is `false`, this code indicates that there are no
resources that match the request or only partial matches for the request.
[[ml-get-dfanalytics-example]]
== {api-examples-title}
The following example gets configuration information for the `loganalytics`
{dfanalytics-job}:
[source,console]
--------------------------------------------------
GET _ml/data_frame/analytics/loganalytics
--------------------------------------------------
// TEST[skip:TBD]
The API returns the following results:
[source,console-result]
----
{
"count": 1,
"data_frame_analytics": [
{
"id": "loganalytics",
"source": {
"index": "logdata",
"query": {
"match_all": {}
}
},
"dest": {
"index": "logdata_out",
"results_field": "ml"
},
"analysis": {
"outlier_detection": {}
},
"model_memory_limit": "1gb",
"create_time": 1562265491319,
"version": "8.0.0"
}
]
}
----