Noumen docs
CodeFlowAIСправочник нод

MergeNode

ПараметрЗначение
Версия1.0.0
КатегорияData
Пакетcaia_core
Статусактивная
ТегиData

Описание: Узел для объединения данных из различных источников

Параметры конструктора

  • method: string (enum: append, combine_by_matching_fields, combine_by_position, combine_by_all_possible_combinations, combine_by_sql_query, choose_branch) (обяз.).

Входы

Входы метода append

  • inputs: array[array] (обяз.). Список входных данных

Входы метода combine_by_matching_fields

  • inputs: array[array] (обяз.). Список входных данных
  • fields_to_match: array[string] (обяз.). Список полей для сопоставления
  • output_type: string. Тип вывода. Возможные значения:
  • "keep_matches" - сохранять только сопоставленные элементы (внутреннее соединение)
  • "keep_non_matches" - сохранять только несопоставленные элементы
  • "keep_everything" - сохранять все элементы (внешнее соединение)
  • "enrich_input1" - сохранять все элементы из первого входа и добавлять сопоставленные из остальных
  • clash_handling: string. Обработка конфликтов полей. Возможные значения:
  • "input1" - приоритет первого входа
  • "input2" - приоритет второго входа
  • "last_input" - приоритет последнего входа
  • "append_input_number" - добавлять номер входа к имени поля
  • fuzzy_compare: boolean. Сравнивать ли значения с учетом типа
  • multiple_matches: string. Обработка множественных совпадений. Возможные значения:
  • "include_all_matches" - включать все совпадения
  • "include_first_match_only" - включать только первое совпадение
  • deep_merge: boolean. Объединять ли вложенные поля

Входы метода combine_by_position

  • inputs: array[array] (обяз.). Список входных данных
  • include_unpaired: boolean. Включать ли несопоставленные элементы

Входы метода combine_by_all_possible_combinations

  • inputs: array[array] (обяз.). Список входных данных
  • clash_handling: string. Обработка конфликтов полей
  • deep_merge: boolean. Объединять ли вложенные поля

Входы метода combine_by_sql_query

  • inputs: array[array] (обяз.). Список входных данных
  • sql_query: string (обяз.). SQL-запрос для объединения

Входы метода choose_branch

  • inputs: array[array] (обяз.). Список входных данных
  • branch_to_choose: string (обяз.). Вход для выбора ("input1", "input2", ..., "inputN" или "empty")

Выходы

Выходы метода append

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Выходы метода combine_by_matching_fields

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Выходы метода combine_by_position

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Выходы метода combine_by_all_possible_combinations

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Выходы метода combine_by_sql_query

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Выходы метода choose_branch

  • items: array[object].
    • Структура элементов объекта не детализирована в схеме.

Примеры вызова через ранер

Пример 1: Объединяет данные из всех входов, добавляя их последовательно.

Конфигурация ноды:

{
  "uuid": "mergenode_append_example",
  "name": "MergeNode - append",
  "type": "MergeNode",
  "parameters": {
    "method": "append"
  },
  "inputs": {
    "inputs": [
      "item1",
      "item2"
    ]
  },
  "next": [
    "next_node_id"
  ]
}

Ожидаемый результат:

[
  {
    "id": 1,
    "name": "Item 1",
    "status": "active"
  },
  {
    "id": 2,
    "name": "Item 2",
    "status": "pending"
  }
]

Пример 2: Объединяет данные из входов, сопоставляя их по указанным полям.

Конфигурация ноды:

{
  "uuid": "mergenode_combine_by_matching_fields_example",
  "name": "MergeNode - combine_by_matching_fields",
  "type": "MergeNode",
  "parameters": {
    "method": "append"
  },
  "inputs": {
    "inputs": [
      "item1",
      "item2"
    ],
    "fields_to_match": [
      "item1",
      "item2"
    ],
    "output_type": "keep_matches",
    "clash_handling": "input2",
    "fuzzy_compare": false,
    "multiple_matches": "include_all_matches",
    "deep_merge": false
  },
  "next": [
    "next_node_id"
  ]
}

Ожидаемый результат:

[
  {
    "id": 1,
    "name": "Item 1",
    "status": "active"
  },
  {
    "id": 2,
    "name": "Item 2",
    "status": "pending"
  }
]

Пример 3: Объединяет данные из входов, сопоставляя их по позиции.

Конфигурация ноды:

{
  "uuid": "mergenode_combine_by_position_example",
  "name": "MergeNode - combine_by_position",
  "type": "MergeNode",
  "parameters": {
    "method": "append"
  },
  "inputs": {
    "inputs": [
      "item1",
      "item2"
    ],
    "include_unpaired": false
  },
  "next": [
    "next_node_id"
  ]
}

Ожидаемый результат:

[
  {
    "id": 1,
    "name": "Item 1",
    "status": "active"
  },
  {
    "id": 2,
    "name": "Item 2",
    "status": "pending"
  }
]

Информация о файле

Путь: merge\MergeNode.yaml