Retrieves a document from Elasticsearch using the specified connection properties and the identifier of the document to retrieve. 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, fetch, read, get


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, and 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 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
Sensitive Property: 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
Document Identifier The identifier for the document to be fetched
Supports Expression Language: true
Index The name of the index to read from 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


Name Description
retry A FlowFile is routed to this relationship if the document cannot be fetched but attempting the operation again may succeed
success All FlowFiles that are read from Elasticsearch are routed to this relationship
failure All FlowFiles that cannot be read from Elasticsearch are routed to this relationship
not found A FlowFile is routed to this relationship if the specified document does not exist in the Elasticsearch cluster

Reads Attributes:

None specified.

Writes Attributes:

Name Description
filename The filename attributes is set to the document identifier
es.index The Elasticsearch index containing the document
es.type The Elasticsearch document type

State management:

This component does not store state.


This component is not restricted.