Class DatafeedConfig
java.lang.Object
co.elastic.clients.elasticsearch.ml.DatafeedConfig
- All Implemented Interfaces:
JsonpSerializable
@JsonpDeserializable public final class DatafeedConfig extends java.lang.Object implements JsonpSerializable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDatafeedConfig.BuilderBuilder forDatafeedConfig. -
Field Summary
Fields Modifier and Type Field Description static JsonpDeserializer<DatafeedConfig>_DESERIALIZERJson deserializer forDatafeedConfig -
Constructor Summary
Constructors Constructor Description DatafeedConfig(DatafeedConfig.Builder builder)DatafeedConfig(java.util.function.Function<DatafeedConfig.Builder,DatafeedConfig.Builder> fn) -
Method Summary
Modifier and Type Method Description java.util.Map<java.lang.String,Aggregation>aggregations()If set, the datafeed performs aggregation searches.java.util.Map<java.lang.String,Aggregation>aggs()API name:aggsChunkingConfigchunkingConfig()Datafeeds might be required to search over long time periods, for several months or years.java.lang.StringdatafeedId()A numerical character string that uniquely identifies the datafeed.DelayedDataCheckConfigdelayedDataCheckConfig()Specifies whether the datafeed checks for missing data and the size of the window.java.lang.Stringfrequency()The interval at which scheduled queries are made while the datafeed runs in real time.java.util.List<java.lang.String>indexes()API name:indexesjava.util.List<java.lang.String>indices()Required - An array of index names.DatafeedIndicesOptionsindicesOptions()Specifies index expansion options that are used during search.java.lang.StringjobId()API name:job_idjava.lang.IntegermaxEmptySearches()If a real-time datafeed has never seen any data (including during any initial training period) then it will automatically stop itself and close its associated job after this many real-time searches that return no documents.Queryquery()Required - The Elasticsearch query domain-specific language (DSL).java.lang.StringqueryDelay()The number of seconds behind real time that data is queried.java.util.Map<java.lang.String,RuntimeField>runtimeMappings()Specifies runtime fields for the datafeed search.java.util.Map<java.lang.String,ScriptField>scriptFields()Specifies scripts that evaluate custom expressions and returns script fields to the datafeed.java.lang.IntegerscrollSize()The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations.voidserialize(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize this object to JSON.protected voidserializeInternal(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)protected static voidsetupDatafeedConfigDeserializer(DelegatingDeserializer<DatafeedConfig.Builder> op)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
_DESERIALIZER
Json deserializer forDatafeedConfig
-
-
Constructor Details
-
DatafeedConfig
-
DatafeedConfig
public DatafeedConfig(java.util.function.Function<DatafeedConfig.Builder,DatafeedConfig.Builder> fn)
-
-
Method Details
-
aggregations
If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data.API name:
aggregations -
aggs
API name:aggs -
chunkingConfig
Datafeeds might be required to search over long time periods, for several months or years. This search is split into time chunks in order to ensure the load on Elasticsearch is managed. Chunking configuration controls how the size of these time chunks are calculated and is an advanced configuration option.API name:
chunking_config -
datafeedId
@Nullable public java.lang.String datafeedId()A numerical character string that uniquely identifies the datafeed. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters.API name:
datafeed_id -
delayedDataCheckConfig
Specifies whether the datafeed checks for missing data and the size of the window. The datafeed can optionally search over indices that have already been read in an effort to determine whether any data has subsequently been added to the index. If missing data is found, it is a good indication that thequery_delayoption is set too low and the data is being indexed after the datafeed has passed that moment in time. This check runs only on real-time datafeeds.API name:
delayed_data_check_config -
frequency
@Nullable public java.lang.String frequency()The interval at which scheduled queries are made while the datafeed runs in real time. The default value is either the bucket span for short bucket spans, or, for longer bucket spans, a sensible fraction of the bucket span. For example:150s. When frequency is shorter than the bucket span, interim results for the last (partial) bucket are written then eventually overwritten by the full bucket results. If the datafeed uses aggregations, this value must be divisible by the interval of the date histogram aggregation.API name:
frequency -
indexes
@Nullable public java.util.List<java.lang.String> indexes()API name:indexes -
indices
public java.util.List<java.lang.String> indices()Required - An array of index names. Wildcards are supported.API name:
indices -
indicesOptions
Specifies index expansion options that are used during search.API name:
indices_options -
jobId
@Nullable public java.lang.String jobId()API name:job_id -
maxEmptySearches
@Nullable public java.lang.Integer maxEmptySearches()If a real-time datafeed has never seen any data (including during any initial training period) then it will automatically stop itself and close its associated job after this many real-time searches that return no documents. In other words, it will stop afterfrequencytimesmax_empty_searchesof real-time operation. If not set then a datafeed with no end time that sees no data will remain started until it is explicitly stopped.API name:
max_empty_searches -
query
Required - The Elasticsearch query domain-specific language (DSL). This value corresponds to the query object in an Elasticsearch search POST body. All the options that are supported by Elasticsearch can be used, as this object is passed verbatim to Elasticsearch.API name:
query -
queryDelay
@Nullable public java.lang.String queryDelay()The number of seconds behind real time that data is queried. For example, if data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 a.m., set this property to 120 seconds. The default value is randomly selected between60sand120s. This randomness improves the query performance when there are multiple jobs running on the same node.API name:
query_delay -
runtimeMappings
Specifies runtime fields for the datafeed search.API name:
runtime_mappings -
scriptFields
Specifies scripts that evaluate custom expressions and returns script fields to the datafeed. The detector configuration objects in a job can contain functions that use these script fields.API name:
script_fields -
scrollSize
@Nullable public java.lang.Integer scrollSize()The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations. The maximum value is the value ofindex.max_result_window, which is 10,000 by default.API name:
scroll_size -
serialize
Serialize this object to JSON.- Specified by:
serializein interfaceJsonpSerializable
-
serializeInternal
-
setupDatafeedConfigDeserializer
protected static void setupDatafeedConfigDeserializer(DelegatingDeserializer<DatafeedConfig.Builder> op)
-