-- :api: put-data-frame-analytics :request: PutDataFrameAnalyticsRequest :response: PutDataFrameAnalyticsResponse -- [id="{upid}-{api}"] === Put Data Frame Analytics API The Put Data Frame Analytics API is used to create a new {dataframe-analytics-config}. The API accepts a +{request}+ object as a request and returns a +{response}+. [id="{upid}-{api}-request"] ==== Put Data Frame Analytics Request A +{request}+ requires the following argument: ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-request] -------------------------------------------------- <1> The configuration of the {dataframe-job} to create [id="{upid}-{api}-config"] ==== Data Frame Analytics Configuration The `DataFrameAnalyticsConfig` object contains all the details about the {dataframe-job} configuration and contains the following arguments: ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-config] -------------------------------------------------- <1> The {dataframe-analytics-config} id <2> The source index and query from which to gather data <3> The destination index <4> The analysis to be performed <5> The fields to be included in / excluded from the analysis <6> The memory limit for the model created as part of the analysis process [id="{upid}-{api}-query-config"] ==== SourceConfig The index and the query from which to collect data. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-source-config] -------------------------------------------------- <1> Constructing a new DataFrameAnalyticsSource <2> The source index <3> The query from which to gather the data. If query is not set, a `match_all` query is used by default. ===== QueryConfig The query with which to select data from the source. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-query-config] -------------------------------------------------- ==== DestinationConfig The index to which data should be written by the {dataframe-job}. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-dest-config] -------------------------------------------------- <1> Constructing a new DataFrameAnalyticsDest <2> The destination index ==== Analysis The analysis to be performed. Currently, only one analysis is supported: +OutlierDetection+. +OutlierDetection+ analysis can be created in one of two ways: ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-analysis-default] -------------------------------------------------- <1> Constructing a new OutlierDetection object with default strategy to determine outliers or ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-analysis-customized] -------------------------------------------------- <1> Constructing a new OutlierDetection object <2> The method used to perform the analysis <3> Number of neighbors taken into account during analysis ==== Analyzed fields FetchContext object containing fields to be included in / excluded from the analysis ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-analyzed-fields] -------------------------------------------------- include::../execution.asciidoc[] [id="{upid}-{api}-response"] ==== Response The returned +{response}+ contains the newly created {dataframe-analytics-config}. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-response] --------------------------------------------------