Description:
Writes the records from a FlowFile into to Elasticsearch, using the specified parameters such as the index to insert into and the type of the document, as well as the operation type (index, upsert, delete, etc.). Note: The Bulk API is used to send the records. This means that the entire contents of the incoming flow file are read into memory, and each record is transformed into a JSON document which is added to a single HTTP request body. For very large flow files (files with a large number of records, e.g.), this could cause memory usage issues.
Tags:
elasticsearch, insert, update, upsert, delete, write, put, http, record
Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the Expression Language Guide, and whether a property is considered “sensitive”, meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the nifi.propertiesfile has an entry for the property nifi.sensitive.props.key.
Name |
Default Value |
Allowable Values |
Description |
Elasticsearch URL |
Elasticsearch URL which will be connected to, including scheme (http, e.g.), host, and port. The default port for the REST API is 60017. Supports Expression Language: true |
||
SSL Context Service |
Controller Service API: SSLContextService Implementation: StandardSSLContextService |
The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Elasticsearch endpoint(s) have been secured with TLS/SSL. | |
Username |
Username to access the Elasticsearch cluster Supports Expression Language: true |
||
Password |
Password to access the Elasticsearch cluster Sensitive Property: true Supports Expression Language: true |
||
Connection Timeout |
5 secs |
Max wait time for the connection to the Elasticsearch REST API. Supports Expression Language: true |
|
Response Timeout |
15 secs |
Max wait time for a response from the Elasticsearch REST API. Supports Expression Language: true |
|
Record Reader |
Controller Service API: RecordReaderFactory Implementations: JsonPathReader CSVReader ScriptedReader AvroReader GrokReader JsonTreeReader |
Specifies the Controller Service to use for parsing incoming data and determining the data's schema. | |
Identifier Record Path |
A RecordPath pointing to a field in the record(s) that contains the identifier for the document. If the Index Operation is "index", this property may be left empty or evaluate to an empty value, in which case the document's identifier will be auto-generated by Elasticsearch. For all other Index Operations, the field's value must be non-empty. Supports Expression Language: true |
||
Index |
The name of the index to insert into Supports Expression Language: true |
||
Type |
The type of this document (used by Elasticsearch for indexing and searching) Supports Expression Language: true |
||
Index Operation |
index |
The type of the operation used to index (index, update, upsert, delete) Supports Expression Language: true |
Relationships:
Name |
Description |
retry | A FlowFile is routed to this relationship if the database cannot be updated but attempting the operation again may succeed |
success | All FlowFiles that are written to Elasticsearch are routed to this relationship |
failure | All FlowFiles that cannot be written to Elasticsearch are routed to this relationship |
Reads Attributes:
None specified.
Writes Attributes:
None specified.
State management:
This component does not store state.
Restricted:
This component is not restricted.
Input requirement:
This component requires an incoming relationship.