Writes the contents of a FlowFile to Elasticsearch, using the specified parameters such as the index to insert into and the type of the document. If the cluster has been configured for authorization and/or secure transport (SSL/TLS), and the X-Pack plugin is available, secure connections can be made. This processor supports Elasticsearch 5.x clusters.
elasticsearch, elasticsearch 5, insert, update, write, put
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.properties file has an entry for the property nifi.sensitive.props.key.
|Name||Default Value||Allowable Values||Description|
|Cluster Name||elasticsearch||Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch' Supports Expression Language: true|
|ElasticSearch Hosts||ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300. This processor uses the Transport Client to connect to hosts. The default transport client port is 9300. 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.|
|X-Pack Transport Location||Specifies the path to the JAR(s) for the Elasticsearch X-Pack Transport feature. If the Elasticsearch cluster has been secured with the X-Pack plugin, then the X-Pack Transport JARs must also be available to this processor. Note: Do NOT place the X-Pack JARs into NiFi's lib/ directory, doing so will prevent the X-Pack Transport JARs from being loaded. Supports Expression Language: true|
|Username||Username to access the Elasticsearch cluster Supports Expression Language: true|
|Password||Password to access the Elasticsearch cluster Supports Expression Language: true|
|ElasticSearch Ping Timeout||5s||The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s Supports Expression Language: true|
|Sampler Interval||5s||How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s. Supports Expression Language: true|
|Identifier Attribute||The name of the attribute containing the identifier for each FlowFile|
|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|
|Character Set||UTF-8||Specifies the character set of the document data. Supports Expression Language: true|
|Batch Size||100||The preferred number of FlowFiles to put to the database in a single transaction Supports Expression Language: true|
|Index Operation||index||The type of the operation used to index (index, update, upsert) Supports Expression Language: true|
|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|
This component does not store state.
This component is not restricted.