Skip to main content

PutElasticsearchJson

Описание

Процессор загрузки в Elasticsearch, использующий официальные библиотеки Elastic REST. Каждый FlowFile рассматривается как документ, который будет отправлен в API _bulk Elasticsearch. Несколько FlowFile могут быть объединены в каждый запрос, отправленный в Elasticsearch.

Теги

json, elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, put, index

Свойства

НазваниеОписание
Identifier AttributeИмя атрибута FlowFile, содержащего идентификатор документа. Если операция индексирования — «индексирование», это свойство может быть оставлено пустым или иметь пустое значение, в этом случае идентификатор документа будет автоматически сгенерирован Elasticsearch. Для всех остальных операций индексирования атрибут должен иметь непустое значение.
Index OperationТип операции, используемой для индексирования (создание, удаление, индексирование, обновление, вставка) Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
IndexThe name of the index to use. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
TypeThe type of this document (used by Elasticsearch for indexing and searching). Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
ScriptСценарий для обновления/дополнения документа. Применяется только к операциям обновления/вставки. Должно быть доступно для анализа как объект JSON. Если оставить поле пустым, содержимое FlowFile будет использоваться для обновления/вставки документа Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Scripted UpsertСледует ли добавлять флаг scripted_upsert в операцию вставки. Заставляет Elasticsearch выполнять скрипт независимо от того, существует документ или нет, по умолчанию — false. Если предоставленный документ Upsert (из содержимого FlowFile) будет пустым, но при этом в качестве ElasticSearchClientService в контроллере CLIENT_SERVICE будет задана служба ElasticSearchClientService, то в запросе к Elasticsearch не будет документа «upsert», и операция не создаст новый документ для выполнения скрипта, что приведёт к ошибке «not_found». Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Dynamic TemplatesДинамические шаблоны для документа. Должны быть доступны для анализа как объект JSON. Требуется Elasticsearch 7+ Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Batch SizeПредпочтительное количество файлов Flow, отправляемых за один пакет Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
Character SetУказывает набор символов для данных документа. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Max JSON Field String LengthThe maximum allowed length of a string value when parsing a JSON document or attribute.
Client ServiceAn Elasticsearch client service to use for running queries.
Log Error ResponsesIf 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 ResponsesIf 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
Treat "Not Found" as SuccessIf 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.

Взаимосвязи

  • failure: All flowfiles that fail for reasons unrelated to server availability go to this relationship.
  • original: Все файлы потока, отправленные в Elasticsearch без сбоев запроса, относятся к этому отношению.
  • successful: Record(s)/Flowfile(s) corresponding to Elasticsearch document(s) that did not result in an "error" (within Elasticsearch) will be routed here.
  • errors: Record(s)/Flowfile(s) corresponding to Elasticsearch document(s) that resulted in an "error" (within Elasticsearch) will be routed here.
  • retry: All flowfiles that fail due to server/cluster availability go to this relationship.