API предварительного просмотра каналов данных
Предварительно просматривает канал данных.
Запрос
GET _ml/datafeeds/<datafeed_id>/_preview
POST _ml/datafeeds/<datafeed_id>/_preview
GET _ml/datafeeds/_preview
POST _ml/datafeeds/_preview
Предварительные условия
Требуются следующие привилегии:
- cluster:
manage_ml(рольmachine_learning_adminпо умолчанию предоставляет эту привилегию) - индекс источника, настроенный в канале данных:
read.
Описание
API предварительного просмотра каналов данных возвращает первую «страницу» результатов поиска из канала данных. Вы можете предварительно просмотреть существующий канал данных или предоставить сведения о конфигурации канала данных и задачи обнаружения аномалий в API. Предварительный просмотр отображает структуру данных, которая будет передана в движок обнаружения аномалий.
Когда включены функции безопасности Elasticsearch, запрос канала данных предварительно просматривается с использованием учетных данных пользователя, вызвавшего API предварительного просмотра канала данных. При запуске канала данных запрос выполняется с использованием ролей последнего пользователя, который создал или обновил его. Если два набора ролей различаются, предварительный просмотр может не точно отражать то, что вернёт канал данных при запуске. Чтобы избежать подобных проблем, тот же пользователь, который создает или обновляет канал данных, должен предварительно просмотреть его, чтобы убедиться, что он возвращает ожидаемые данные. В качестве альтернативы, используйте заголовки вторичной авторизации, чтобы предоставить учетные данные.
Параметры пути
-
<datafeed_id> -
(Необязательно, строка) Числовая строка, уникально идентифицирующая канал данных. Этот идентификатор может содержать строчные буквенно-цифровые символы (a-z и 0-9), дефисы и подчёркивания. Он должен начинаться и заканчиваться буквенно-цифровыми символами.
Если вы предоставляете
<datafeed_id>в качестве параметра пути, вы не можете предоставить сведения о конфигурации канала данных или задачи обнаружения аномалий в теле запроса.
Тело запроса
-
datafeed_config - (Необязательно, объект) Определение канала данных для предварительного просмотра. Для допустимых определений см. API создания каналов данных.
-
job_config - (Необязательно, объект) Сведения о конфигурации задачи обнаружения аномалий, связанной с каналом данных. Если объект
datafeed_configне включаетjob_id, который ссылается на существующую задачу обнаружения аномалий, вы должны предоставить этот объектjob_config. Если вы включаете какjob_id, так иjob_config, используется последняя информация. Вы не можете указать объектjob_config, если не предоставите также объектdatafeed_config. Для допустимых определений см. API создания задач обнаружения аномалий.
Примеры
Это пример предоставления идентификатора существующего канала данных:
GET _ml/datafeeds/datafeed-high_sum_total_sales/_preview
Возвращаемые данные для этого примера:
[
{
"order_date" : 1575504259000,
"category.keyword" : "Men's Clothing",
"customer_full_name.keyword" : "Sultan Al Benson",
"taxful_total_price" : 35.96875
},
{
"order_date" : 1575504518000,
"category.keyword" : [
"Women's Accessories",
"Women's Clothing"
],
"customer_full_name.keyword" : "Pia Webb",
"taxful_total_price" : 83.0
},
{
"order_date" : 1575505382000,
"category.keyword" : [
"Women's Accessories",
"Women's Shoes"
],
"customer_full_name.keyword" : "Brigitte Graham",
"taxful_total_price" : 72.0
},
...
] Следующий пример предоставляет сведения о конфигурации канала данных и задачи обнаружения аномалий в API:
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
}
]
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ml-preview-datafeed.html