1
0
Эх сурвалжийг харах

[DOCS] Remove redundant results from ML APIs (#50477)

Lisa Cawley 5 жил өмнө
parent
commit
6501338a9e
19 өөрчлөгдсөн 459 нэмэгдсэн , 418 устгасан
  1. 3 3
      docs/reference/ml/anomaly-detection/apis/delete-calendar-job.asciidoc
  2. 6 4
      docs/reference/ml/anomaly-detection/apis/delete-forecast.asciidoc
  3. 2 3
      docs/reference/ml/anomaly-detection/apis/get-bucket.asciidoc
  4. 7 10
      docs/reference/ml/anomaly-detection/apis/get-calendar-event.asciidoc
  5. 9 12
      docs/reference/ml/anomaly-detection/apis/get-calendar.asciidoc
  6. 4 4
      docs/reference/ml/anomaly-detection/apis/get-category.asciidoc
  7. 13 9
      docs/reference/ml/anomaly-detection/apis/get-datafeed-stats.asciidoc
  8. 5 50
      docs/reference/ml/anomaly-detection/apis/get-datafeed.asciidoc
  9. 11 13
      docs/reference/ml/anomaly-detection/apis/get-filter.asciidoc
  10. 2 3
      docs/reference/ml/anomaly-detection/apis/get-influencer.asciidoc
  11. 48 48
      docs/reference/ml/anomaly-detection/apis/get-job-stats.asciidoc
  12. 2 62
      docs/reference/ml/anomaly-detection/apis/get-job.asciidoc
  13. 2 3
      docs/reference/ml/anomaly-detection/apis/get-record.asciidoc
  14. 4 4
      docs/reference/ml/anomaly-detection/apis/post-calendar-event.asciidoc
  15. 4 1
      docs/reference/ml/anomaly-detection/apis/put-datafeed.asciidoc
  16. 139 0
      docs/reference/ml/anomaly-detection/apis/put-job.asciidoc
  17. 58 13
      docs/reference/ml/anomaly-detection/apis/update-job.asciidoc
  18. 74 1
      docs/reference/ml/anomaly-detection/apis/validate-detector.asciidoc
  19. 66 175
      docs/reference/ml/ml-shared.asciidoc

+ 3 - 3
docs/reference/ml/anomaly-detection/apis/delete-calendar-job.asciidoc

@@ -24,11 +24,11 @@ Deletes {anomaly-jobs} from a calendar.
 ==== {api-path-parms-title}
 
 `<calendar_id>`::
-  (Required, string) Identifier for the calendar.
+(Required, string) Identifier for the calendar.
 
 `<job_id>`::
-  (Required, string) An identifier for the {anomaly-jobs}. It can be a job
-  identifier, a group name, or a comma-separated list of jobs or groups.
+(Required, string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection-list]
 
 [[ml-delete-calendar-job-example]]
 ==== {api-examples-title}

+ 6 - 4
docs/reference/ml/anomaly-detection/apis/delete-forecast.asciidoc

@@ -41,12 +41,14 @@ For more information, see
 ==== {api-path-parms-title}
 
 `<forecast_id>`::
-  (Optional, string) A comma-separated list of forecast identifiers. 
-  If you do not specify this optional parameter or if you specify `_all`, the 
-  API deletes all forecasts from the job. 
+(Optional, string) A comma-separated list of forecast identifiers. If you do not
+specify this optional parameter or if you specify `_all`, the API deletes all
+forecasts from the job. 
   
 `<job_id>`::
-  (Required, string) Required. Identifier for the job.
+(Required, string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
+  
 
 [[ml-delete-forecast-query-parms]]
 ==== {api-query-parms-title}

+ 2 - 3
docs/reference/ml/anomaly-detection/apis/get-bucket.asciidoc

@@ -63,10 +63,9 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-interim-results]
 `expand`::
 (Optional, boolean) If true, the output includes anomaly records.
 
-`page`::
-`page`.`from`:::
+`page`.`from`::
 (Optional, integer) Skips the specified number of buckets.
-`page`.`size`:::
+`page`.`size`::
 (Optional, integer) Specifies the maximum number of buckets to obtain.
 
 `sort`::

+ 7 - 10
docs/reference/ml/anomaly-detection/apis/get-calendar-event.asciidoc

@@ -56,27 +56,24 @@ For more information, see
 [[ml-get-calendar-event-results]]
 ==== {api-response-body-title}
 
-The API returns the following information:
+The API returns an array of scheduled event resources, which have the
+following properties:
 
-`events`::
-  (array) An array of scheduled event resources. An events resource has the
-  following properties:
-
-  `calendar_id`:::
+`calendar_id`::
     (string) An identifier for the calendar that contains the scheduled
     event. 
 
-  `description`:::
+`description`::
     (string) A description of the scheduled event.
 
-  `end_time`:::
+`end_time`::
     (date) The timestamp for the end of the scheduled event
     in milliseconds since the epoch or ISO 8601 format.
 
-  `event_id`:::
+`event_id`::
     (string) An automatically-generated identifier for the scheduled event.
 
-  `start_time`:::
+`start_time`::
    (date) The timestamp for the beginning of the scheduled event
    in milliseconds since the epoch or ISO 8601 format.
 

+ 9 - 12
docs/reference/ml/anomaly-detection/apis/get-calendar.asciidoc

@@ -40,27 +40,24 @@ For more information, see
 [[ml-get-calendar-request-body]]
 ==== {api-request-body-title}
 
-`page`::
-`from`:::
+`page`.`from`::
     (Optional, integer) Skips the specified number of calendars.
 
-`size`:::
+`page`.`size`::
     (Optional, integer) Specifies the maximum number of calendars to obtain.
 
 [[ml-get-calendar-results]]
 ==== {api-response-body-title}
 
-The API returns the following information:
+The API returns an array of calendar resources, which have the following
+properties:
 
-`calendars`::
-  (array) An array of calendar resources. A calendar resource has the following
-  properties:
-  `calendar_id`:::
-    (string) A numerical character string that uniquely identifies the calendar.
+`calendar_id`::
+(string) A numerical character string that uniquely identifies the calendar.
 
-  `job_ids`:::
-    (array) An array of {anomaly-job} identifiers. For example:
-    `["total-requests"]`.
+`job_ids`::
+(array) An array of {anomaly-job} identifiers. For example:
+`["total-requests"]`.
 
 [[ml-get-calendar-example]]
 ==== {api-examples-title}

+ 4 - 4
docs/reference/ml/anomaly-detection/apis/get-category.asciidoc

@@ -53,10 +53,9 @@ parameter, the API returns information about all categories in the {anomaly-job}
 [[ml-get-category-request-body]]
 ==== {api-request-body-title}
 
-`page`::
-`page`.`from`:::
+`page`.`from`::
 (Optional, integer) Skips the specified number of categories.
-`page`.`size`:::
+`page`.`size`::
 (Optional, integer) Specifies the maximum number of categories to obtain.
 
 [[ml-get-category-results]]
@@ -72,7 +71,8 @@ The API returns an array of category objects, which have the following propertie
 
 `grok_pattern`::
 experimental[] (string) A Grok pattern that could be used in {ls} or an ingest 
-pipeline to extract fields from messages that match the category. This field is experimental and may be changed or removed in a future release. The Grok
+pipeline to extract fields from messages that match the category. This field is
+experimental and may be changed or removed in a future release. The Grok
 patterns that are found are not optimal, but are often a good starting point for
 manual tweaking.
 

+ 13 - 9
docs/reference/ml/anomaly-detection/apis/get-datafeed-stats.asciidoc

@@ -47,8 +47,11 @@ IMPORTANT: This API returns a maximum of 10,000 {dfeeds}.
 `<feed_id>`::
 (Optional, string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id-wildcard]
++
+--
 If you do not specify one of these options, the API returns information about
 all {dfeeds}.
+--
 
 [[ml-get-datafeed-stats-query-parms]]
 ==== {api-query-parms-title}
@@ -72,13 +75,14 @@ informational; you cannot update their values.
 include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id]
 
 `node`::
-(object) For started {dfeeds} only, the node upon which the {dfeed} is started. The {dfeed} and job will be on the same node.
-`id`::: The unique identifier of the node. For example, "0-o0tOoRTwKFZifatTWKNw".
-`name`::: The node name. For example, `0-o0tOo`.
-`ephemeral_id`::: The node ephemeral ID.
-`transport_address`::: The host and port where transport HTTP connections are
+(object) For started {dfeeds} only, the node upon which the {dfeed} is started.
+The {dfeed} and job will be on the same node.
+`node`.`id`::: The unique identifier of the node. For example, "0-o0tOoRTwKFZifatTWKNw".
+`node`.`name`::: The node name. For example, `0-o0tOo`.
+`node`.`ephemeral_id`::: The node ephemeral ID.
+`node`.`transport_address`::: The host and port where transport HTTP connections are
 accepted. For example, `127.0.0.1:9300`.
-`attributes`::: For example, `{"ml.machine_memory": "17179869184"}`.
+`node`.`attributes`::: For example, `{"ml.machine_memory": "17179869184"}`.
 
 `state`::
 (string) The status of the {dfeed}, which can be one of the following values:
@@ -95,10 +99,10 @@ this {dfeed}.
 //average_search_time_per_bucket_ms
 //bucket_count
 //exponential_average_search_time_per_hour_ms
-`job_id`:::
+`timing_stats`.`job_id`:::
 include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
-`search_count`::: Number of searches performed by this {dfeed}.
-`total_search_time_ms`::: Total time the {dfeed} spent searching in milliseconds.
+`timing_stats`.`search_count`::: Number of searches performed by this {dfeed}.
+`timing_stats`.`total_search_time_ms`::: Total time the {dfeed} spent searching in milliseconds.
 
 
 [[ml-get-datafeed-stats-response-codes]]

+ 5 - 50
docs/reference/ml/anomaly-detection/apis/get-datafeed.asciidoc

@@ -44,8 +44,11 @@ IMPORTANT: This API returns a maximum of 10,000 {dfeeds}.
 `<feed_id>`::
 (Optional, string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id-wildcard]
++
+--
 If you do not specify one of these options, the API returns information about
 all {dfeeds}.
+--
 
 [[ml-get-datafeed-query-parms]]
 ==== {api-query-parms-title}
@@ -57,56 +60,8 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=allow-no-datafeeds]
 [[ml-get-datafeed-results]]
 ==== {api-response-body-title}
 
-The API returns an array of {dfeed} resources, which have the following
-properties:
-
-`aggregations`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=aggregations]
-
-`chunking_config`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=chunking-config]
-
-`datafeed_id`::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id]
-
-`delayed_data_check_config`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=delayed-data-check-config]
-
-`frequency`::
-(<<time-units,time units>>)
-include::{docdir}/ml/ml-shared.asciidoc[tag=frequency]
-
-`indices`::
-(array)
-include::{docdir}/ml/ml-shared.asciidoc[tag=indices]
-
-`job_id`::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-datafeed]
-
-`max_empty_searches`::
-(integer)
-include::{docdir}/ml/ml-shared.asciidoc[tag=max-empty-searches]
-
-`query`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=query]
-
-`query_delay`::
-(<<time-units,time units>>)
-include::{docdir}/ml/ml-shared.asciidoc[tag=query-delay]
-
-`script_fields`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=script-fields]
-
-`scroll_size`::
-(unsigned integer)
-include::{docdir}/ml/ml-shared.asciidoc[tag=scroll-size]
+The API returns an array of {dfeed} resources. For the full list of properties,
+see <<ml-put-datafeed-request-body,create {dfeeds} API>>.
 
 [[ml-get-datafeed-response-codes]]
 ==== {api-response-codes-title}

+ 11 - 13
docs/reference/ml/anomaly-detection/apis/get-filter.asciidoc

@@ -37,28 +37,26 @@ You can get a single filter or all filters. For more information, see
 [[ml-get-filter-query-parms]]
 ==== {api-query-parms-title}
 
-`from`:::
+`from`::
     (Optional, integer) Skips the specified number of filters.
 
-`size`:::
+`size`::
     (Optional, integer) Specifies the maximum number of filters to obtain.
 
 [[ml-get-filter-results]]
 ==== {api-response-body-title}
 
-The API returns the following information:
-
-`filters`::
-  (array) An array of filter resources. A filter resource has the following
-  properties:
-  `filter_id`:::
-  (string) A string that uniquely identifies the filter.
+The API returns an array of filter resources, which have the following
+properties:
   
-  `description`:::
-  (string) A description of the filter.
+`description`::
+(string) A description of the filter.
+
+`filter_id`::
+(string) A string that uniquely identifies the filter.
   
-  `items`:::
-  (array of strings) An array of strings which is the filter item list.
+`items`::
+(array of strings) An array of strings which is the filter item list.
 
 [[ml-get-filter-example]]
 ==== {api-examples-title}

+ 2 - 3
docs/reference/ml/anomaly-detection/apis/get-influencer.asciidoc

@@ -55,10 +55,9 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-interim-results]
 (Optional, double) Returns influencers with anomaly scores greater than or
 equal to this value.
 
-`page`::
-`from`:::
+`page`.`from`::
 (Optional, integer) Skips the specified number of influencers.
-`size`:::
+`page`.`size`::
 (Optional, integer) Specifies the maximum number of influencers to obtain.
 
 `sort`::

+ 48 - 48
docs/reference/ml/anomaly-detection/apis/get-job-stats.asciidoc

@@ -66,51 +66,51 @@ related error counts. The `data_count` values are cumulative for the lifetime of
 a job. If a model snapshot is reverted or old results are deleted, the job
 counts are not reset.
 
-`bucket_count`:::
+`data_counts`.`bucket_count`:::
 (long) The number of bucket results produced by the job.
 
-`earliest_record_timestamp`:::
+`data_counts`.`earliest_record_timestamp`:::
 (date) The timestamp of the earliest chronologically input document.
 
-`empty_bucket_count`:::
+`data_counts`.`empty_bucket_count`:::
 (long) The number of buckets which did not contain any data. If your data
 contains many empty buckets, consider increasing your `bucket_span` or using
 functions that are tolerant to gaps in data such as `mean`, `non_null_sum` or
 `non_zero_count`.
 
-`input_bytes`:::
+`data_counts`.`input_bytes`:::
 (long) The number of bytes of input data posted to the job.
 
-`input_field_count`:::
+`data_counts`.`input_field_count`:::
 (long) The total number of fields in input documents posted to the job. This
 count includes fields that are not used in the analysis. However, be aware that
 if you are using a {dfeed}, it extracts only the required fields from the
 documents it retrieves before posting them to the job.
 
-`input_record_count`:::
+`data_counts`.`input_record_count`:::
 (long) The number of input documents posted to the job.
 
-`invalid_date_count`:::
+`data_counts`.`invalid_date_count`:::
 (long) The number of input documents with either a missing date field or a date
 that could not be parsed.
 
-`job_id`:::
+`data_counts`.`job_id`:::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
 
-`last_data_time`:::
+`data_counts`.`last_data_time`:::
 (date) The timestamp at which data was last analyzed, according to server time.
 
-`latest_empty_bucket_timestamp`:::
+`data_counts`.`latest_empty_bucket_timestamp`:::
 (date) The timestamp of the last bucket that did not contain any data.
 
-`latest_record_timestamp`:::
+`data_counts`.`latest_record_timestamp`:::
 (date) The timestamp of the latest chronologically input document.
 
-`latest_sparse_bucket_timestamp`:::
+`data_counts`.`latest_sparse_bucket_timestamp`:::
 (date) The timestamp of the last bucket that was considered sparse.
 
-`missing_field_count`:::
+`data_counts`.`missing_field_count`:::
 (long) The number of input documents that are missing a field that the job is
 configured to analyze. Input documents with missing fields are still processed
 because it is possible that not all fields are missing. The value of
@@ -123,26 +123,26 @@ necessarily a cause for concern.
 
 --
 
-`out_of_order_timestamp_count`:::
+`data_counts`.`out_of_order_timestamp_count`:::
 (long) The number of input documents that are out of time sequence and outside
 of the latency window. This information is applicable only when you provide data
 to the job by using the <<ml-post-data,post data API>>. These out of order
 documents are  discarded, since jobs require time series data to be in ascending
 chronological order.
 
-`processed_field_count`:::
+`data_counts`.`processed_field_count`:::
 (long) The total number of fields in all the documents that have been processed
 by the job. Only fields that are specified in the detector configuration object
 contribute to this count. The timestamp is not included in this count.
 
-`processed_record_count`:::
+`data_counts`.`processed_record_count`:::
 (long) The number of input documents that have been processed by the job. This
 value includes documents with missing fields, since they are nonetheless
 analyzed. If you use {dfeeds} and have aggregations in your search query, the
 `processed_record_count` will be the number of aggregation results processed,
 not the number of {es} documents.
 
-`sparse_bucket_count`:::
+`data_counts`.`sparse_bucket_count`:::
 (long) The number of buckets that contained few data points compared to the
 expected number of data points. If your data contains many sparse buckets,
 consider using a longer `bucket_span`.
@@ -157,24 +157,24 @@ NOTE: Unless there is at least one forecast, `memory_bytes`, `records`,
 
 --
 
-`forecasted_jobs`:::
+`forecasts_stats`.`forecasted_jobs`:::
 (long) The number of jobs that have at least one forecast.
 
-`memory_bytes`:::
+`forecasts_stats`.`memory_bytes`:::
 (object) Statistics about the memory usage: minimum, maximum, average and total.
 
-`records`:::
+`forecasts_stats`.`records`:::
 (object) Statistics about the number of forecast records: minimum, maximum,
 saverage and total.
 
-`processing_time_ms`:::
+`forecasts_stats`.`processing_time_ms`:::
 (object) Statistics about the forecast runtime in milliseconds: minimum, maximum,
 average and total.
 
-`status`:::
+`forecasts_stats`.`status`:::
 (object) Counts per forecast status. For example: `{"finished" : 2}`. 
 
-`total`:::
+`forecasts_stats`.`total`:::
 (long) The number of forecasts currently available for this model.
 
 `job_id`::
@@ -185,19 +185,19 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
 (object) An object that provides information about the size and contents of the
 model. It has the following properties:
  
-`bucket_allocation_failures_count`:::
+`model_size_stats`.`bucket_allocation_failures_count`:::
 (long) The number of buckets for which new entities in incoming data were not
 processed due to insufficient model memory. This situation is also signified
 by a `hard_limit: memory_status` property value.
 
-`job_id`:::
+`model_size_stats`.`job_id`:::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
 
-`log_time`:::
+`model_size_stats`.`log_time`:::
 (date) The timestamp of the `model_size_stats` according to server time.
 
-`memory_status`:::
+`model_size_stats`.`memory_status`:::
 (string) The status of the mathematical models. This property can have one of
 the following values:
 +
@@ -209,22 +209,22 @@ and older unused models will be pruned to free up space.
 As a result, not all incoming data was processed.
 --
 
-`model_bytes`:::
+`model_size_stats`.`model_bytes`:::
 (long) The number of bytes of memory used by the models. This is the maximum
 value since the last time the model was persisted. If the job is closed,
 this value indicates the latest size.
 
-`model_bytes_exceeded`:::
+`model_size_stats`.`model_bytes_exceeded`:::
  (long) The number of bytes over the high limit for memory usage at the last
  allocation failure.
 
-`model_bytes_memory_limit`:::
+`model_size_stats`.`model_bytes_memory_limit`:::
 (long) The upper limit for memory usage, checked on increasing values.
 
-`result_type`:::
+`model_size_stats`.`result_type`:::
 (string) For internal use. The type of result.
 
-`total_by_field_count`:::
+`model_size_stats`.`total_by_field_count`:::
 (long) The number of `by` field values that were analyzed by the models.
 +
 --
@@ -233,7 +233,7 @@ partition.
 
 --
 
-`total_over_field_count`:::
+`model_size_stats`.`total_over_field_count`:::
 (long) The number of `over` field values that were analyzed by the models.
 +
 --
@@ -242,10 +242,10 @@ partition.
 
 --
 
-`total_partition_field_count`:::
+`model_size_stats`.`total_partition_field_count`:::
 (long) The number of `partition` field values that were analyzed by the models.
 
-`timestamp`:::
+`model_size_stats`.`timestamp`:::
 (date) The timestamp of the `model_size_stats` according to the timestamp of the
 data.
 
@@ -253,20 +253,20 @@ data.
 (object) Contains properties for the node that runs the job. This information is
 available only for open jobs.
 
-`attributes`:::
+`node`.`attributes`:::
 (object) Lists node attributes. For example,
 `{"ml.machine_memory": "17179869184", "ml.max_open_jobs" : "20"}`.
   
-`ephemeral_id`:::
+`node`.`ephemeral_id`:::
 (string) The ephemeral ID of the node.
 
-`id`:::
+`node`.`id`:::
 (string) The unique identifier of the node.
 
-`name`:::
+`node`.`name`:::
 (string) The node name.
 
-`transport_address`:::
+`node`.`transport_address`:::
 (string) The host and port where transport HTTP connections are accepted.
 
 `open_time`::
@@ -295,31 +295,31 @@ then re-opened.
 (object) An object that provides statistical information about timing aspect of
 this job. It has the following properties:
 
-`average_bucket_processing_time_ms`:::
+`timing_stats`.`average_bucket_processing_time_ms`:::
 (double) Average of all bucket processing times in milliseconds.
 
-`bucket_count`:::
+`timing_stats`.`bucket_count`:::
 (long) The number of buckets processed.
 
-`exponential_average_bucket_processing_time_ms`:::
+`timing_stats`.`exponential_average_bucket_processing_time_ms`:::
 (double) Exponential moving average of all bucket processing times in
 milliseconds.
 
-`exponential_average_bucket_processing_time_per_hour_ms`:::
+`timing_stats`.`exponential_average_bucket_processing_time_per_hour_ms`:::
 (double) Exponentially-weighted moving average of bucket processing times
 calculated in a 1 hour time window.
 
-`job_id`:::
+`timing_stats`.`job_id`:::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
 
-`maximum_bucket_processing_time_ms`:::
+`timing_stats`.`maximum_bucket_processing_time_ms`:::
 (double) Maximum among all bucket processing times in milliseconds.
 
-`minimum_bucket_processing_time_ms`:::
+`timing_stats`.`minimum_bucket_processing_time_ms`:::
 (double) Minimum among all bucket processing times in milliseconds.
 
-`total_bucket_processing_time_ms`:::
+`timing_stats`.`total_bucket_processing_time_ms`:::
 (double) Sum of all bucket processing times in milliseconds.
 
 [[ml-get-job-stats-response-codes]]

+ 2 - 62
docs/reference/ml/anomaly-detection/apis/get-job.asciidoc

@@ -54,87 +54,27 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=allow-no-jobs]
 [[ml-get-job-results]]
 ==== {api-response-body-title}
 
-The API returns an array of {anomaly-job} resources, which have the following
-properties:
-
-`allow_lazy_open`::
-(boolean)
-include::{docdir}/ml/ml-shared.asciidoc[tag=allow-lazy-open]
-
-[[get-analysisconfig]]`analysis_config`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=analysis-config]
-
-[[get-analysislimits]]`analysis_limits`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=analysis-limits]
-
-`background_persist_interval`::
-(time units)
-include::{docdir}/ml/ml-shared.asciidoc[tag=background-persist-interval]
+The API returns an array of {anomaly-job} resources. For the full list of
+properties, see <<ml-put-job-request-body,create {anomaly-jobs} API>>.
 
 `create_time`::
 (string) The time the job was created. For example, `1491007356077`. This
 property is informational; you cannot change its value.
-
-[[get-customsettings]]`custom_settings`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=custom-settings]
-
-[[get-datadescription]]`data_description`:: 
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=data-description]
-
-`description`::
-(string) An optional description of the job.
   
 `finished_time`::
 (string) If the job closed or failed, this is the time the job finished,
 otherwise it is `null`. This property is informational; you cannot change its
 value.
 
-`groups`::
-(array of strings)
-include::{docdir}/ml/ml-shared.asciidoc[tag=groups]
-
-`job_id`::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection-define]
-+
---
-This property is informational; you cannot change the identifier for existing
-jobs.
---
-
 `job_type`::
 (string) Reserved for future use, currently set to `anomaly_detector`.
 
 `job_version`::
 (string) The version of {es} that existed on the node when the job was created.
 
-[[get-modelplotconfig]]`model_plot_config`::
-(object)
-include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config]
-
 `model_snapshot_id`::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-snapshot-id]
-+
---
-This property is informational; you cannot change its value. 
---
-
-`model_snapshot_retention_days`::
-(long)
-include::{docdir}/ml/ml-shared.asciidoc[tag=model-snapshot-retention-days]
-
-`renormalization_window_days`::
-(long)
-include::{docdir}/ml/ml-shared.asciidoc[tag=renormalization-window-days]
-
-`results_index_name`::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=results-index-name]
 
 [[ml-get-job-response-codes]]
 ==== {api-response-codes-title}

+ 2 - 3
docs/reference/ml/anomaly-detection/apis/get-record.asciidoc

@@ -59,10 +59,9 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=desc-results]
 (Optional, boolean)
 include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-interim-results]
 
-`page`::
-`page`.`from`:::
+`page`.`from`::
 (Optional, integer) Skips the specified number of records.
-`page`.`size`:::
+`page`.`size`::
 (Optional, integer) Specifies the maximum number of records to obtain.
 
 `record_score`::

+ 4 - 4
docs/reference/ml/anomaly-detection/apis/post-calendar-event.asciidoc

@@ -40,18 +40,18 @@ of which must have a start time, end time, and description.
 	and end times may be specified as integer milliseconds since the epoch or as a
 	string in ISO 8601 format. An event resource has the following properties:
 
-	`calendar_id`:::
+`events`.`calendar_id`:::
 	  (Optional, string) An identifier for the calendar that contains the scheduled
 	  event.
 
-	`description`:::
+`events`.`description`:::
 	  (Optional, string) A description of the scheduled event.
 
-	`end_time`:::
+`events`.`end_time`:::
 	  (Required, date) The timestamp for the end of the scheduled event
 	  in milliseconds since the epoch or ISO 8601 format.
 
-	`start_time`:::
+`events`.`start_time`:::
 	 (Required, date) The timestamp for the beginning of the scheduled event
 	 in milliseconds since the epoch or ISO 8601 format.
 

+ 4 - 1
docs/reference/ml/anomaly-detection/apis/put-datafeed.asciidoc

@@ -69,10 +69,13 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=frequency]
 (Required, array)
 include::{docdir}/ml/ml-shared.asciidoc[tag=indices]
 
-
 `job_id`::
 (Required, string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
+
+`max_empty_searches`::
+(Optional,integer)
+include::{docdir}/ml/ml-shared.asciidoc[tag=max-empty-searches]
  
 `query`::
 (Optional, object)

+ 139 - 0
docs/reference/ml/anomaly-detection/apis/put-job.asciidoc

@@ -46,9 +46,140 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=allow-lazy-open]
 (Required, object)
 include::{docdir}/ml/ml-shared.asciidoc[tag=analysis-config]
 
+`analysis_config`.`bucket_span`:::
+(<<time-units,time units>>)
+include::{docdir}/ml/ml-shared.asciidoc[tag=bucket-span]
+
+`analysis_config`.`categorization_field_name`:::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-field-name]
+
+`analysis_config`.`categorization_filters`:::
+(array of strings)
+include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-filters]
+
+`analysis_config`.`categorization_analyzer`:::
+(object or string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-analyzer]
+
+`analysis_config`.`detectors`:::
+(array) An array of detector configuration objects. Detector configuration
+objects specify which data fields a job analyzes. They also specify which
+analytical functions are used. You can specify multiple detectors for a job. 
++
+--
+NOTE: If the `detectors` array does not contain at least one detector,
+no analysis can occur and an error is returned.
+
+A detector has the following properties:
+--
+
+`analysis_config`.`detectors`.`by_field_name`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=by-field-name]
+
+`analysis_config`.`detectors`.`custom_rules`::::
++
+--
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules]
+
+`analysis_config`.`detectors`.`custom_rules`.`actions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-actions]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`:::
+(object)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`.`filter_id`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-id]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`.`filter_type`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-type]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`applies_to`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-applies-to]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`operator`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-operator]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`value`::::
+(double)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-value]
+--
+
+`analysis_config`.`detectors`.`detector_description`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-description]
+
+`analysis_config`.`detectors`.`detector_index`::::
+(integer)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-index]
+
+`analysis_config`.`detectors`.`exclude_frequent`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-frequent]
+
+`analysis_config`.`detectors`.`field_name`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-field-name]
+
+`analysis_config`.`detectors`.`function`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=function]
+
+`analysis_config`.`detectors`.`over_field_name`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=over-field-name]
+
+`analysis_config`.`detectors`.`partition_field_name`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=partition-field-name]
+
+`analysis_config`.`detectors`.`use_null`::::
+(boolean)
+include::{docdir}/ml/ml-shared.asciidoc[tag=use-null]
+
+`analysis_config`.`influencers`:::
+(array of strings)
+include::{docdir}/ml/ml-shared.asciidoc[tag=influencers]
+
+`analysis_config`.`latency`:::
+(time units)
+include::{docdir}/ml/ml-shared.asciidoc[tag=latency]
+
+`analysis_config`.`multivariate_by_fields`:::
+(boolean)
+include::{docdir}/ml/ml-shared.asciidoc[tag=multivariate-by-fields]
+
+`analysis_config`.`summary_count_field_name`:::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=summary-count-field-name]
+
 [[put-analysislimits]]`analysis_limits`::
 (Optional, object)
 include::{docdir}/ml/ml-shared.asciidoc[tag=analysis-limits]
++
+--
+The `analysis_limits` object has the following properties:
+--
+
+`analysis_limits`.`categorization_examples_limit`:::
+(long)
+include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-examples-limit]
+
+`analysis_limits`.`model_memory_limit`:::
+(long or string) 
+include::{docdir}/ml/ml-shared.asciidoc[tag=model-memory-limit]
 
 `background_persist_interval`::
 (Optional, <<time-units, time units>>)
@@ -73,6 +204,14 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=groups]
 (Optional, object)
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config]
 
+`model_plot_config`.`enabled`:::
+(boolean)
+include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config-enabled]
+
+`model_plot_config`.`terms`:::
+experimental[] (string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config-terms]
+
 `model_snapshot_retention_days`::
 (Optional, long)
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-snapshot-retention-days]

+ 58 - 13
docs/reference/ml/anomaly-detection/apis/update-job.asciidoc

@@ -43,19 +43,7 @@ close the job, then reopen the job and restart the {dfeed} for the changes to ta
 
 --
 
-`detectors`::
-`custom_rules`:::
-(array)
-include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules]
-`description`:::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector-description]
-`detector_index`:::
-(integer)
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector-index]
-
-[[update-analysislimits]]`analysis_limits`::
-`model_memory_limit`:::
+[[update-analysislimits]]`analysis_limits`.`model_memory_limit`::
 (long or string) 
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-memory-limit]
 +
@@ -87,6 +75,55 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=custom-settings]
 `description`::
 (string) A description of the job.
 
+`detectors`::
+(array) An array of detector update objects.
+
+`detectors`.`custom_rules`:::
++
+--
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules]
+
+`detectors`.`custom_rules`.`actions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-actions]
+
+`detectors`.`custom_rules`.`scope`:::
+(object)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope]
+
+`detectors`.`custom_rules`.`scope`.`filter_id`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-id]
+
+`detectors`.`custom_rules`.`scope`.`filter_type`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-type]
+
+`detectors`.`custom_rules`.`conditions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions]
+
+`detectors`.`custom_rules`.`conditions`.`applies_to`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-applies-to]
+
+`detectors`.`custom_rules`.`conditions`.`operator`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-operator]
+
+`detectors`.`custom_rules`.`conditions`.`value`::::
+(double)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-value]
+--
+
+`detectors`.`description`:::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-description]
+`detectors`.`detector_index`:::
+(integer)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-index]
+
 `groups`::
 (array of strings)
 include::{docdir}/ml/ml-shared.asciidoc[tag=groups]
@@ -95,6 +132,14 @@ include::{docdir}/ml/ml-shared.asciidoc[tag=groups]
 (object)
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config]
 
+`model_plot_config`.`enabled`:::
+(boolean)
+include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config-enabled]
+
+`model_plot_config`.`terms`:::
+experimental[] (string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=model-plot-config-terms]
+
 `model_snapshot_retention_days`::
 (long)
 include::{docdir}/ml/ml-shared.asciidoc[tag=model-snapshot-retention-days]

+ 74 - 1
docs/reference/ml/anomaly-detection/apis/validate-detector.asciidoc

@@ -29,7 +29,80 @@ before you create an {anomaly-job}.
 [[ml-valid-detector-request-body]]
 ==== {api-request-body-title}
 
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector]
+`by_field_name`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=by-field-name]
+
+`custom_rules`::
++
+--
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules]
+
+`analysis_config`.`detectors`.`custom_rules`.`actions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-actions]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`:::
+(object)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`.`filter_id`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-id]
+
+`analysis_config`.`detectors`.`custom_rules`.`scope`.`filter_type`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-scope-filter-type]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`:::
+(array)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`applies_to`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-applies-to]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`operator`::::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-operator]
+
+`analysis_config`.`detectors`.`custom_rules`.`conditions`.`value`::::
+(double)
+include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules-conditions-value]
+--
+
+`detector_description`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-description]
+
+`detector_index`::
+(integer)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-index]
+
+`exclude_frequent`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-frequent]
+
+`field_name`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=detector-field-name]
+
+`function`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=function]
+
+`over_field_name`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=over-field-name]
+
+`partition_field_name`::
+(string)
+include::{docdir}/ml/ml-shared.asciidoc[tag=partition-field-name]
+
+`use_null`::
+(boolean)
+include::{docdir}/ml/ml-shared.asciidoc[tag=use-null]
 
 [[ml-valid-detector-example]]
 ==== {api-examples-title}

+ 66 - 175
docs/reference/ml/ml-shared.asciidoc

@@ -17,7 +17,6 @@ return an error and the job waits in the `opening` state until sufficient {ml}
 node capacity is available.
 end::allow-lazy-open[]
 
-
 tag::allow-lazy-start[]
 Whether this job should be allowed to start when there is insufficient {ml} node 
 capacity for it to be immediately assigned to a node. The default is `false`, 
@@ -80,71 +79,16 @@ example: `outlier_detection`. See <<ml-dfa-analysis-objects>>.
 end::analysis[]
 
 tag::analysis-config[]
-The analysis configuration, which specifies how to analyze the data.
-After you create a job, you cannot change the analysis configuration; all
-the properties are informational. An analysis configuration object has the 
-following properties:
-
-`bucket_span`:::
-(<<time-units,time units>>)
-include::{docdir}/ml/ml-shared.asciidoc[tag=bucket-span]
-
-`categorization_field_name`:::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-field-name]
-
-`categorization_filters`:::
-(array of strings)
-include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-filters]
-
-`categorization_analyzer`:::
-(object or string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-analyzer]
-
-`detectors`:::
-(array) An array of detector configuration objects. Detector configuration
-objects specify which data fields a job analyzes. They also specify which
-analytical functions are used. You can specify multiple detectors for a job. 
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector]
-+
---
-NOTE: If the `detectors` array does not contain at least one detector,
-no analysis can occur and an error is returned.
-
---
-
-`influencers`:::
-(array of strings)
-include::{docdir}/ml/ml-shared.asciidoc[tag=influencers]
-
-`latency`:::
-(time units)
-include::{docdir}/ml/ml-shared.asciidoc[tag=latency]
-
-`multivariate_by_fields`:::
-(boolean)
-include::{docdir}/ml/ml-shared.asciidoc[tag=multivariate-by-fields]
-
-`summary_count_field_name`:::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=summary-count-field-name]
-
+The analysis configuration, which specifies how to analyze the data. After you
+create a job, you cannot change the analysis configuration; all the properties
+are informational.
 end::analysis-config[]
 
 tag::analysis-limits[]
 Limits can be applied for the resources required to hold the mathematical models
 in memory. These limits are approximate and can be set per job. They do not
-control the memory used by other processes, for example the {es} Java
-processes. If necessary, you can increase the limits after the job is created.
-The `analysis_limits` object has the following properties:
-
-`categorization_examples_limit`:::
-(long)
-include::{docdir}/ml/ml-shared.asciidoc[tag=categorization-examples-limit]
-
-`model_memory_limit`:::
-(long or string) 
-include::{docdir}/ml/ml-shared.asciidoc[tag=model-memory-limit]
+control the memory used by other processes, for example the {es} Java processes.
+If necessary, you can increase the limits after the job is created.
 end::analysis-limits[]
 
 tag::analyzed-fields[]
@@ -212,15 +156,15 @@ object. If it is a string it must refer to a
 is an object it has the following properties:
 --
 
-`char_filter`::::
+`analysis_config`.`categorization_analyzer`.`char_filter`::::
 (array of strings or objects)
 include::{docdir}/ml/ml-shared.asciidoc[tag=char-filter]
 
-`tokenizer`::::
+`analysis_config`.`categorization_analyzer`.`tokenizer`::::
 (string or object)
 include::{docdir}/ml/ml-shared.asciidoc[tag=tokenizer]
 
-`filter`::::
+`analysis_config`.`categorization_analyzer`.`filter`::::
 (array of strings or objects)
 include::{docdir}/ml/ml-shared.asciidoc[tag=filter]
 end::categorization-analyzer[]
@@ -286,11 +230,11 @@ on {es} is managed. Chunking configuration controls how the size of these time
 chunks are calculated and is an advanced configuration option.
 A chunking configuration object has the following properties:
 
-`mode`:::
+`chunking_config`.`mode`:::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=mode]
 
-`time_span`:::
+`chunking_config`.`time_span`:::
 (<<time-units,time units>>)
 include::{docdir}/ml/ml-shared.asciidoc[tag=time-span]
 end::chunking-config[]
@@ -300,11 +244,10 @@ An array of custom rule objects, which enable you to customize the way detectors
 operate. For example, a rule may dictate to the detector conditions under which
 results should be skipped. For more examples, see 
 {ml-docs}/ml-configuring-detector-custom-rules.html[Customizing detectors with custom rules].
-A custom rule has the following properties:
-+
---
-`actions`::
-(array) The set of actions to be triggered when the rule applies. If
+end::custom-rules[]
+
+tag::custom-rules-actions[]
+The set of actions to be triggered when the rule applies. If
 more than one action is specified the effects of all actions are combined. The
 available actions include:
 
@@ -316,49 +259,47 @@ model. Unless you also specify `skip_result`, the results will be created as
 usual. This action is suitable when certain values are expected to be
 consistently anomalous and they affect the model in a way that negatively
 impacts the rest of the results.
+end::custom-rules-actions[]
 
-`scope`::
-(object) An optional scope of series where the rule applies. A rule must either
+tag::custom-rules-scope[]
+An optional scope of series where the rule applies. A rule must either
 have a non-empty scope or at least one condition. By default, the scope includes
 all series. Scoping is allowed for any of the fields that are also specified in
 `by_field_name`, `over_field_name`, or `partition_field_name`. To add a scope
 for a field, add the field name as a key in the scope object and set its value
 to an object with the following properties:
-
-`filter_id`:::
-(string) The id of the filter to be used.
-
-`filter_type`:::
-(string) Either `include` (the rule applies for values in the filter) or
-`exclude` (the rule applies for values not in the filter). Defaults to 
-`include`.
-
-`conditions`::
-(array) An optional array of numeric conditions when the rule applies. A rule
-must either have a non-empty scope or at least one condition. Multiple
-conditions are combined together with a logical `AND`. A condition has the
-following properties: 
-
-`applies_to`:::
-(string) Specifies the result property to which the condition applies. The
-available options are `actual`, `typical`, `diff_from_typical`, `time`.
-
-`operator`:::
-(string) Specifies the condition operator. The available options are `gt`
-(greater than), `gte` (greater than or equals), `lt` (less than) and `lte` (less
-than or equals).
-
-`value`:::
-(double) The value that is compared against the `applies_to` field using the
-`operator`.
---
-+
---
-NOTE: If your detector uses `lat_long`, `metric`, `rare`, or `freq_rare`
-functions, you can only specify `conditions` that apply to `time`.
-
---
-end::custom-rules[]
+end::custom-rules-scope[]
+
+tag::custom-rules-scope-filter-id[]
+The id of the filter to be used.
+end::custom-rules-scope-filter-id[]
+
+tag::custom-rules-scope-filter-type[]
+Either `include` (the rule applies for values in the filter) or `exclude` (the
+rule applies for values not in the filter). Defaults to `include`.
+end::custom-rules-scope-filter-type[]
+
+tag::custom-rules-conditions[]
+An optional array of numeric conditions when the rule applies. A rule must
+either have a non-empty scope or at least one condition. Multiple conditions are
+combined together with a logical `AND`. A condition has the following properties:
+end::custom-rules-conditions[]
+
+tag::custom-rules-conditions-applies-to[]
+Specifies the result property to which the condition applies. The available
+options are `actual`, `typical`, `diff_from_typical`, `time`. If your detector
+uses `lat_long`, `metric`, `rare`, or `freq_rare` functions, you can only
+specify conditions that apply to `time`.
+end::custom-rules-conditions-applies-to[]
+
+tag::custom-rules-conditions-operator[]
+Specifies the condition operator. The available options are `gt` (greater than),
+`gte` (greater than or equals), `lt` (less than) and `lte` (less than or equals).
+end::custom-rules-conditions-operator[]
+
+tag::custom-rules-conditions-value[]
+The value that is compared against the `applies_to` field using the `operator`.
+end::custom-rules-conditions-value[]
 
 tag::custom-settings[]
 Advanced configuration option. Contains custom meta data about the job. For
@@ -375,16 +316,14 @@ a {dfeed}, these properties are automatically set.
 When data is received via the <<ml-post-data,post data>> API, it is not stored
 in {es}. Only the results for {anomaly-detect} are retained.
 
-A data description object has the following properties:
-
-`format`:::
+`data_description`.`format`:::
   (string) Only `JSON` format is supported at this time.
 
-`time_field`:::
+`data_description`.`time_field`:::
   (string) The name of the field that contains the timestamp.
   The default value is `time`.
 
-`time_format`:::
+`data_description`.`time_format`:::
 (string)
 include::{docdir}/ml/ml-shared.asciidoc[tag=time-format]
 --
@@ -507,13 +446,11 @@ moment in time. See
 
 This check runs only on real-time {dfeeds}.
 
-The configuration object has the following properties:
-
-`enabled`::
+`delayed_data_check_config`.`enabled`::
 (boolean) Specifies whether the {dfeed} periodically checks for delayed data.
 Defaults to `true`.
 
-`check_window`::
+`delayed_data_check_config`.`check_window`::
 (<<time-units,time units>>) The window of time that is searched for late data.
 This window of time ends with the latest finalized bucket. It defaults to
 `null`, which causes an appropriate `check_window` to be calculated when the
@@ -571,51 +508,6 @@ the detectors in the `analysis_config`, starting at zero. You can use this
 identifier when you want to update a specific detector.
 end::detector-index[]
 
-tag::detector[]
-A detector has the following properties:
-
-`by_field_name`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=by-field-name]
-
-`custom_rules`::::
-(array)
-include::{docdir}/ml/ml-shared.asciidoc[tag=custom-rules]
-
-`detector_description`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector-description]
-
-`detector_index`::::
-(integer)
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector-index]
-
-`exclude_frequent`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=exclude-frequent]
-
-`field_name`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=detector-field-name]
-
-`function`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=function]
-
-`over_field_name`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=over-field-name]
-
-`partition_field_name`::::
-(string)
-include::{docdir}/ml/ml-shared.asciidoc[tag=partition-field-name]
-
-`use_null`::::
-(boolean)
-include::{docdir}/ml/ml-shared.asciidoc[tag=use-null]
-
-end::detector[]
-
 tag::eta[]
 The shrinkage applied to the weights. Smaller values result 
 in larger forests which have better generalization error. However, the smaller 
@@ -911,22 +803,21 @@ be seen in the model plot.
 
 Model plot config can be configured when the job is created or updated later. It 
 must be disabled if performance issues are experienced.
-
-The `model_plot_config` object has the following properties:
-
-`enabled`:::
-(boolean) If true, enables calculation and storage of the model bounds for
-each entity that is being analyzed. By default, this is not enabled.
-
-`terms`:::
-experimental[] (string) Limits data collection to this comma separated list of 
-partition or by field values. If terms are not specified or it is an empty 
-string, no filtering is applied. For example, "CPU,NetworkIn,DiskWrites". 
-Wildcards are not supported. Only the specified `terms` can be viewed when 
-using the Single Metric Viewer.
 --
 end::model-plot-config[]
 
+tag::model-plot-config-enabled[]
+If true, enables calculation and storage of the model bounds for each entity
+that is being analyzed. By default, this is not enabled.
+end::model-plot-config-enabled[]
+
+tag::model-plot-config-terms[]
+Limits data collection to this comma separated list of partition or by field
+values. If terms are not specified or it is an empty string, no filtering is
+applied. For example, "CPU,NetworkIn,DiskWrites". Wildcards are not supported.
+Only the specified `terms` can be viewed when using the Single Metric Viewer.
+end::model-plot-config-terms[]
+
 tag::model-snapshot-id[]
 A numerical character string that uniquely identifies the model snapshot. For 
 example, `1575402236000 `.