Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Transform API

Превью API трансформации

Предварительный просмотр трансформации.

Запрос

GET _transform/<transform_id>/_preview

POST _transform/<transform_id>/_preview

GET _transform/_preview

POST _transform/_preview

Предварительные условия

Требуются следующие привилегии:

  • cluster: manage_transform (роль transform_admin предоставляет эту привилегию)
  • индексы источников: read, view_index_metadata.

Описание

Этот API генерирует превью результатов, которые вы получите при запуске API создания трансформаций с теми же настройками. Он возвращает максимум 100 результатов. Расчеты основаны на всех текущих данных в индексе источника.

Он также генерирует список сопоставлений и настроек для целевого индекса. Если целевой индекс не существует при запуске трансформации, эти сопоставления и настройки используются. Эти значения определяются на основе типов полей в индексе источника и агрегаций трансформации.

Существуют некоторые ограничения, которые могут привести к некорректным сопоставлениям. В качестве обходного решения, создайте целевой индекс или шаблон индекса со своими предпочтительными сопоставлениями перед запуском трансформации.

Вы должны выбрать либо метод latest, либо pivot для вашей трансформации; вы не можете использовать оба в одной трансформации.

Параметры пути

<transform_id>

(Необязательно, строка) Идентификатор трансформации для предварительного просмотра.

Если вы предоставите <transform_id> в качестве параметра пути, вы не можете предоставить детали конфигурации трансформации в теле запроса.

Параметры запроса

timeout
(Необязательно, время) Период ожидания ответа. Если ответ не получен до истечения срока ожидания, запрос завершается ошибкой. По умолчанию 30s.

Тело запроса

description
(Необязательно, строка) Свободное текстовое описание преобразования.
dest

(Необязательно, объект) Назначение преобразования.

Свойства dest
index
(Необязательно, строка) Индекс назначения для преобразования.

В случае с преобразованием pivot, соответствия индексов назначения выводятся на основе исходных полей, когда это возможно. Если требуются альтернативные соответствия, используйте API создания индекса до запуска преобразования.

В случае с преобразованием latest, соответствия никогда не выводятся. Если динамические соответствия для индекса назначения нежелательны, используйте API создания индекса до запуска преобразования.

pipeline
(Необязательно, строка) Уникальный идентификатор потока обработки данных.
frequency
(Необязательно, единицы измерения времени) Интервал между проверками изменений в исходных индексах, когда преобразование выполняется непрерывно. Также определяет интервал повторной попытки в случае временных сбоев при поиске или индексировании. Минимальное значение — 1s, максимальное — 1h. Значение по умолчанию — 1m.
latest

(Обязательно*, объект) Метод latest преобразует данные, находя последний документ для каждого уникального ключа.

Свойства latest
sort
(Обязательно, строка) Указывает поле даты, используемое для определения последних документов.
unique_key
(Обязательно, массив строк) Указывает массив одного или нескольких полей, используемых для группировки данных.
pivot

(Обязательно, объект) Метод pivot преобразует данные путём агрегирования и группировки. Эти объекты определяют поля group by и агрегацию для уменьшения данных.

Свойства pivot
aggregations или aggs

(Обязательно, объект) Определяет, как агрегировать сгруппированные данные. В настоящее время поддерживаются следующие агрегации:

  • Среднее
  • Скрипт корзины
  • Селектор корзины
  • Кардинальность
  • Фильтр
  • Гео-границы
  • Гео-центр
  • Гео-линия
  • Максимум
  • Медиана абсолютного отклонения
  • Минимум
  • Отсутствующее
  • Перцентили
  • Редкие термины
  • Скриптированная метрика
  • Статистика
  • Сумма
  • Термины
  • Топ метрики
  • Подсчёт значений
  • Взвешенное среднее
group_by

(Обязательно, объект) Определяет, как сгруппировать данные. Можно определить более одной группировки на один pivot. В настоящее время поддерживаются следующие группировки:

  • Диаграмма по дате
  • Гео-плиточный сетка
  • Гистограмма
  • Термины

Свойства группировки могут опционально иметь свойство missing_bucket. Если оно true, документы без значения в соответствующем поле group_by включаются. По умолчанию false.

max_page_search_size
(Необязательно, целое число) [7.8.0] Устарело в 7.8.0. Перемещено в settings.
retention_policy

(Необязательно, объект) Определяет политику хранения для преобразования. Данные, соответствующие определённым критериям, удаляются из целевого индекса.

Свойства retention_policy
time

(Обязательно, объект) Указывает, что преобразование использует поле времени для установки политики хранения.

Свойства time
field
(Обязательно, строка) Поле даты, используемое для расчёта возраста документа.
max_age
(Обязательно, единицы измерения времени) Указывает максимальный возраст документа в целевом индексе. Документы, старше заданного значения, удаляются из целевого индекса.
source

(Обязательно, объект) Источник данных для преобразования.

Свойства source
index

(Обязательно, строка или массив) Исходные индексы для преобразования. Это может быть один индекс, шаблон индекса (например, "my-index-*"), массив индексов (например, ["my-index-000001", "my-index-000002"]) или массив шаблонов индексов (например, ["my-index-*", "my-other-index-*"]. Для удалённых индексов используйте синтаксис "remote_name:index_name".

Если какие-либо индексы находятся в удалённых кластерах, у узла master и по крайней мере одного трансформационного узла должен быть роль узла remote_cluster_client.

query
(Необязательно, объект) Оператор запроса, который извлекает подмножество данных из исходного индекса. См. Query DSL.
runtime_mappings
(Необязательно, объект) Определения полей времени выполнения поиска, которые могут быть использованы преобразованием. Для полей времени выполнения поиска все узлы данных, включая удалённые узлы, должны быть версии 7.12 или выше.
sync

(Необязательно, объект) Определяет свойства, необходимые для непрерывной работы преобразований.

Свойства sync
time

(Необязательно, объект) Указывает, что преобразование использует поле времени для синхронизации исходного и целевого индексов.

Свойства time
delay
(Необязательно, единицы измерения времени) Задержка во времени между текущим временем и временем последних входных данных. Значение по умолчанию — 60s.
field
(Необязательно, строка) Поле даты, используемое для идентификации новых документов в источнике.
settings

(Необязательно, объект) Определяет дополнительные параметры преобразования.

Свойства settings
docs_per_second
(Необязательно, число с плавающей точкой) Устанавливает ограничение на количество входных документов в секунду. Этот параметр регулирует преобразование, добавляя время ожидания между запросами поиска. Значение по умолчанию — null, что отключает регулирование.
align_checkpoints
(Необязательно, логическое значение) Указывает, следует ли оптимизировать диапазоны контрольных точек преобразования для повышения производительности. Такая оптимизация может согласовывать диапазоны контрольных точек с интервалом гистограммы дат, когда гистограмма дат указана как исходный набор группировок в конфигурации преобразования. В результате будет выполнено меньше обновлений документов в целевом индексе, что повысит общую производительность. Значение по умолчанию — true, что означает, что диапазоны контрольных точек будут оптимизированы, если это возможно.
max_page_search_size
(Необязательно, целое число) Определяет начальный размер страницы для агрегации по составному запросу для каждой контрольной точки. При возникновении исключений из-за переполнения памяти размер страницы динамически корректируется до меньшего значения. Минимальное значение — 10, максимальное — 65,536. Значение по умолчанию — 500.

Тело ответа

preview
(массив) Массив документов. В частности, это JSON-представление документов, которые будут созданы в целевом индексе преобразованием.
generated_dest_index

(объект) Содержит сведения о целевом индексе.

Свойства generated_dest_index
aliases
(объект) Псевдонимы целевого индекса.
mappings
(объект) отображения для каждого документа в целевом индексе.
settings
(объект) настройки индекса для целевого индекса.

Примеры

POST _transform/_preview
{
  "source": {
    "index": "kibana_sample_data_ecommerce"
  },
  "pivot": {
    "group_by": {
      "customer_id": {
        "terms": {
          "field": "customer_id",
          "missing_bucket": true
        }
      }
    },
    "aggregations": {
      "max_price": {
        "max": {
          "field": "taxful_total_price"
        }
      }
    }
  }
}

Данные, возвращаемые для этого примера, следующие:

{
  "preview" : [
    {
      "max_price" : 171.0,
      "customer_id" : "10"
    },
    {
      "max_price" : 233.0,
      "customer_id" : "11"
    },
    {
      "max_price" : 200.0,
      "customer_id" : "12"
    }
    ...
  ],
  "generated_dest_index" : {
    "mappings" : {
      "_meta" : {
        "_transform" : {
          "transform" : "transform-preview",
          "version" : {
            "created" : "7.7.0"
          },
          "creation_date_in_millis" : 1584738236757
        },
        "created_by" : "transform"
      },
      "properties" : {
        "max_price" : {
          "type" : "half_float"
        },
        "customer_id" : {
          "type" : "keyword"
        }
      }
    },
    "settings" : {
      "index" : {
        "number_of_shards" : "1",
        "auto_expand_replicas" : "0-1"
      }
    },
    "aliases" : { }
  }
}

© 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/preview-transform.html

Spec-Zone.ru

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