预览数据馈送 API
编辑预览数据馈送 API编辑
预览数据馈送。
请求编辑
GET _ml/datafeeds/<datafeed_id>/_preview
POST _ml/datafeeds/<datafeed_id>/_preview
GET _ml/datafeeds/_preview
POST _ml/datafeeds/_preview
描述编辑
预览数据馈送 API 返回数据馈送中搜索结果的第一个“页面”。您可以预览现有数据馈送,或在 API 中提供数据馈送和异常检测作业的配置详细信息。预览显示将传递到异常检测引擎的数据结构。
启用 Elasticsearch 安全功能后,将使用调用预览数据馈送 API 的用户的凭据预览数据馈送查询。数据馈送启动后,它将使用创建或更新它的最后一个用户的角色运行查询。如果两组角色不同,则预览可能无法准确反映数据馈送启动后将返回的内容。为避免此类问题,创建或更新数据馈送的同一用户应预览它,以确保它返回预期的数据。或者,使用 辅助授权标头 提供凭据。
路径参数编辑
-
<datafeed_id>
-
(可选,字符串)唯一标识数据馈送的数字字符字符串。此标识符可以包含小写字母数字字符(a-z 和 0-9)、连字符和下划线。它必须以字母数字字符开头和结尾。
如果您将
<datafeed_id>
作为路径参数提供,则不能在请求正文中提供数据馈送或异常检测作业配置详细信息。
查询参数编辑
-
end
-
(可选,字符串)数据馈送预览应结束的时间。预览可能不会到达提供值的末尾,因为只返回第一页结果。可以使用以下格式之一指定时间
- 带毫秒的 ISO 8601 格式,例如
2017-01-22T06:00:00.000Z
- 不带毫秒的 ISO 8601 格式,例如
2017-01-22T06:00:00+00:00
- 自纪元以来的毫秒数,例如
1485061200000
使用任一 ISO 8601 格式的日期时间参数必须具有时区指示符,其中
Z
被接受为 UTC 时间的缩写。当需要 URL 时(例如,在浏览器中),时区指示符中使用的
+
必须编码为%2B
。此值为独占值。
- 带毫秒的 ISO 8601 格式,例如
-
start
- (可选,字符串)数据馈送预览应开始的时间,可以使用与
end
参数相同的格式指定。此值为包含值。
如果您没有提供 start
或 end
参数,则数据馈送预览将在整个数据时间内进行搜索,但不包括 cold
或 frozen
数据层 中的数据。
请求正文编辑
-
datafeed_config
- (可选,对象)要预览的数据馈送定义。有关有效定义,请参阅 创建数据馈送 API。
-
job_config
- (可选,对象)与数据馈送关联的异常检测作业的配置详细信息。如果
datafeed_config
对象不包含引用现有异常检测作业的job_id
,则必须提供此job_config
对象。如果您同时包含job_id
和job_config
,则使用后者信息。除非您还提供datafeed_config
对象,否则不能指定job_config
对象。有关有效定义,请参阅 创建异常检测作业 API。
示例编辑
这是一个提供现有数据馈送 ID 的示例
response = client.ml.preview_datafeed( datafeed_id: 'datafeed-high_sum_total_sales' ) puts response
GET _ml/datafeeds/datafeed-high_sum_total_sales/_preview
此示例返回的数据如下
[ { "order_date" : 1574294659000, "category.keyword" : "Men's Clothing", "customer_full_name.keyword" : "Sultan Al Benson", "taxful_total_price" : 35.96875 }, { "order_date" : 1574294918000, "category.keyword" : [ "Women's Accessories", "Women's Clothing" ], "customer_full_name.keyword" : "Pia Webb", "taxful_total_price" : 83.0 }, { "order_date" : 1574295782000, "category.keyword" : [ "Women's Accessories", "Women's Shoes" ], "customer_full_name.keyword" : "Brigitte Graham", "taxful_total_price" : 72.0 } ]
以下示例在 API 中提供数据馈送和异常检测作业配置详细信息
response = client.ml.preview_datafeed( body: { datafeed_config: { indices: [ 'kibana_sample_data_ecommerce' ], query: { bool: { filter: [ { term: { _index: 'kibana_sample_data_ecommerce' } } ] } }, scroll_size: 1000 }, job_config: { description: 'Find customers spending an unusually high amount in an hour', analysis_config: { bucket_span: '1h', detectors: [ { detector_description: 'High total sales', function: 'high_sum', field_name: 'taxful_total_price', over_field_name: 'customer_full_name.keyword' } ], influencers: [ 'customer_full_name.keyword', 'category.keyword' ] }, analysis_limits: { model_memory_limit: '10mb' }, data_description: { time_field: 'order_date', time_format: 'epoch_ms' } } } ) puts response
POST _ml/datafeeds/_preview { "datafeed_config": { "indices" : [ "kibana_sample_data_ecommerce" ], "query" : { "bool" : { "filter" : [ { "term" : { "_index" : "kibana_sample_data_ecommerce" } } ] } }, "scroll_size" : 1000 }, "job_config": { "description" : "Find customers spending an unusually high amount in an hour", "analysis_config" : { "bucket_span" : "1h", "detectors" : [ { "detector_description" : "High total sales", "function" : "high_sum", "field_name" : "taxful_total_price", "over_field_name" : "customer_full_name.keyword" } ], "influencers" : [ "customer_full_name.keyword", "category.keyword" ] }, "analysis_limits" : { "model_memory_limit" : "10mb" }, "data_description" : { "time_field" : "order_date", "time_format" : "epoch_ms" } } }
此示例返回的数据如下
[ { "order_date" : 1574294659000, "category.keyword" : "Men's Clothing", "customer_full_name.keyword" : "Sultan Al Benson", "taxful_total_price" : 35.96875 }, { "order_date" : 1574294918000, "category.keyword" : [ "Women's Accessories", "Women's Clothing" ], "customer_full_name.keyword" : "Pia Webb", "taxful_total_price" : 83.0 }, { "order_date" : 1574295782000, "category.keyword" : [ "Women's Accessories", "Women's Shoes" ], "customer_full_name.keyword" : "Brigitte Graham", "taxful_total_price" : 72.0 } ]