PutElasticsearchRecord
Описание
Процессор загрузки записей в Elasticsearch, использующий официальные библиотеки Elastic REST. Каждая запись в FlowFile преобразуется в документ, который будет отправлен в API _bulk Elasticsearch. Несколько документов могут быть объединены в каждый запрос, отправленный в Elasticsearch. Операция Bulk для каждого документа может быть настроена с использованием выражений Record Path.
Теги
json, elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, put, index, record
Свойства
Название | Описание |
---|---|
Index Operation | Тип операции, используемой для индексирования (создание, удаление, индексирование, обновление, вставка) Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Index | The name of the index to use. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Type | The type of this document (used by Elasticsearch for indexing and searching). Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
@timestamp Value | Значение, которое будет использоваться в качестве поля @timestamp (требуется для потоков данных Elasticsearch). Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Max JSON Field String Length | The maximum allowed length of a string value when parsing a JSON document or attribute. |
Client Service | An Elasticsearch client service to use for running queries. |
Record Reader | Устройство чтения записей, используемое для чтения входящих записей из файлов потока. |
Batch Size | Количество записей для отправки в одном пакете. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
ID Record Path | Выражение пути записи для получения поля ID для использования с Elasticsearch. Если оставить поле пустым, Elasticsearch автоматически сгенерирует идентификатор. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Retain ID (Record Path) | Сохранять ли существующее поле, используемое в качестве пути записи идентификатора. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [ID Record Path] Property has a value specified. |
Index Operation Record Path | Выражение пути к записи для получения поля операции индексирования для использования с Elasticsearch. Если оставить поле пустым, операция индексирования будет определена с помощью основного свойства операции индексирования. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Index Record Path | Выражение пути записи для получения по ля индекса для использования с Elasticsearch. Если оставить поле пустым, индекс будет определен с помощью основного свойства индекса. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Type Record Path | Выражение пути к записи для получения поля типа для использования с Elasticsearch. Если оставить поле пустым, тип будет определяться с помощью основного свойства типа. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
@timestamp Record Path | Путь к записи, указывающий на поле в записи (записях), содержащее @timestamp для документа. Если оставить поле пустым, то @timestamp будет определяться с помощью основного свойства @timestamp Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Retain @timestamp (Record Path) | Сохранять ли существующее поле, используемое в качестве пути записи @timestamp. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [@timestamp Record Path] Property has a value specified. |
Script Record Path | Путь к записи, указывающий на поле в записи (записях), содержащее скрипт для обновления/вставки документа. Применяется только к операциям обновления/вставки. Поле должно быть совместимо с типом Map (например, Map или Record) или строкой, которую можно преобразовать в объект JSON. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Scripted Upsert Record Path | Путь к записи, указывающий на поле в записи (записях), содержащее логический флаг scripted_upsert. Добавлять ли флаг scripted_upsert в операцию Upsert. Заставляет Elasticsearch выполнять скрипт независимо от того, существует документ или нет, по умолчанию — false. Если предоставленный документ Upsert (из содержимого FlowFile) будет пустым, но вы убедитесь, что для параметра SUPPRESS_NULLS контроллера CLIENT_SERVICE установлено значение NEVER_SUPPRESS, то в запрос к Elasticsearch не будет включен документ «upsert», и операция не создаст новый документ для выполнения скрипта, что приведет к ошибке «not_found» Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Dynamic Templates Record Path | Путь к записи, указывающий на поле в записи (записях), содержащее динамические шаблоны для документа. Поле должно быть совместимо с типом Map (например, Map или Record) или строкой, которую можно преобразовать в объект JSON. Требуется Elasticsearch 7+ Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Date Format | Указывает формат, используемый при записи полей даты. Если формат не указан, используется формат по умолчанию '" + RecordFieldType.DATE.getDefaultFormat() + "'. Если указано, значение должно соответствовать простому формату даты Java (например, MM/dd/yyyy для двухзначного месяца, за которым следует двухзначный день, за которым следует четырехзначный год, все разделено символами «/», как в 01/25/2017). Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды) |
Time Format | Указывает формат, используемый при записи полей Time. Если не указано, используется формат по умолчанию '" + RecordFieldType.TIME.getDefaultFormat() + "'". Если указано, значение должно соответствовать формату Simple Date в Java (например, HH:mm:ss для двухзначного часа в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, все разделено символами ':', как в 18:04:15). Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды) |
Timestamp Format | Указывает формат, используемый при записи полей Timestamp. Если не указано, используется формат по умолчанию '" + RecordFieldType.Используется ВРЕМЕННАЯ МЕТКА.getDefaultFormat() + "'. Если указано, значение должно соответствовать формату простой даты Java (например, MM/dd/yyyy HH:mm:ss для двухзначного месяца, за которым следует двухзначный день, за которым следует четырехзначный год, разделенные символами «/»; затем следует двухзначный час в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, разделенные символами «:», как в 01/25/2017 18:04:15). Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды) |
Log Error Responses | If this is enabled, errors will be logged to the NiFi logs at the error log level. Otherwise, they will only be logged if debug logging is enabled on NiFi as a whole. The purpose of this option is to give the user the ability to debug failed operations without having to turn on debug logging. |
Output Error Responses | If this is enabled, response messages from Elasticsearch marked as "error" will be output to the "error_responses" relationship.This does not impact the output of flowfiles to the "successful" or "errors" relationships |
Result Record Writer | Ответ от Elasticsearch будет проверен на наличие неудачных записей, и неудачные записи будут записаны в набор записей с помощью этого сервиса записи и отправлены в отношение. Успешные записи будут записаны в набор записей с помощью этого сервиса записи и отправлены в отношение "REL_SUCCESSFUL". |
Treat "Not Found" as Success | If true, "not_found" Elasticsearch Document associated Records will be routed to the "successful" relationship, otherwise to the "errors" relationship. If Output Error Responses is "true" then "not_found" responses from Elasticsearch will be sent to the error_responses relationship. |
Group Results by Bulk Error Type | Ошибочные записи, записанные в отношение "" + REL_ERRORS.getName() + "", будут сгруппированы по типу ошибки, а ошибка, связанная с первой записью в FlowFile, будет добавлена в FlowFile как "elasticsearch.bulk.error". Если значение NOT_FOUND_IS_SUCCESSFUL равно "false", то записи, связанные с ответами Elasticsearch "не найдено", также будут отправлены в отношение "" + REL_ERRORS.getName() + "". This Property is only considered if the [Result Record Writer] Property has a value specified. |
Взаимосвязи
- failure: All flowfiles that fail for reasons unrelated to server availability go to this relationship.
- original: Все файлы потока, отправленные в Elasticsearch без сбоев запроса, относятся к этому отношению.
- errors: Record(s)/Flowfile(s) corresponding to Elasticsearch document(s) that resulted in an "error" (within Elasticsearch) will be routed here.
- successful: Record(s)/Flowfile(s) corresponding to Elasticsearch document(s) that did not result in an "error" (within Elasticsearch) will be routed here.
- retry: All flowfiles that fail due to server/cluster availability go to this relationship.