Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›API для обнаружения аномалий с помощью машинного обучения

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API