QueryElasticsearchHttp

Description:

Queries Elasticsearch using the specified connection properties. Note that the full body of each page of documents will be read into memory before being written to Flow Files for transfer. Also note that the Elasticsearch max_result_window index setting is the upper bound on the number of records that can be retrieved using this query. To retrieve more records, use the ScrollElasticsearchHttp processor.

Tags:

elasticsearch, query, read, get, http

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 NiFi Expression Language, 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.

NameDefault ValueAllowable ValuesDescription
Elasticsearch URLElasticsearch URL which will be connected to, including scheme (http, e.g.), host, and port. The default port for the REST API is 9200.
Supports Expression Language: true
SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextService
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.
UsernameUsername to access the Elasticsearch cluster
Supports Expression Language: true
PasswordPassword to access the Elasticsearch cluster
Sensitive Property: true
Supports Expression Language: true
Connection Timeout5 secsMax wait time for the connection to the Elasticsearch REST API.
Supports Expression Language: true
Response Timeout15 secsMax wait time for a response from the Elasticsearch REST API.
Supports Expression Language: true
QueryThe Lucene-style query to run against ElasticSearch (e.g., genre:blues AND -artist:muddy)
Supports Expression Language: true
Page Size20Determines how many documents to return per page during scrolling.
Supports Expression Language: true
IndexThe name of the index to read from. If the property is set to _all, the query will match across all indexes.
Supports Expression Language: true
TypeThe (optional) type of this query, used by Elasticsearch for indexing and searching. If the property is empty, the the query will match across all types.
Supports Expression Language: true
FieldsA comma-separated list of fields to retrieve from the document. If the Fields property is left blank, then the entire document's source will be retrieved.
Supports Expression Language: true
SortA sort parameter (e.g., timestamp:asc). If the Sort property is left blank, then the results will be retrieved in document order.
Supports Expression Language: true
LimitIf set, limits the number of results that will be returned.
Supports Expression Language: true
TargetFlow file content
  • Flow file content
  • Flow file attributes
Indicates where the results should be placed. In the case of 'Flow file content', the JSON response will be written as the content of the flow file. In the case of 'Flow file attributes', the original flow file (if applicable) will be cloned for each result, and all return fields will be placed in a flow file attribute of the same name, but prefixed by 'es.result.'

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
A URL query parameterThe value to set it toAdds the specified property name/value as a query parameter in the Elasticsearch URL used for processing
Supports Expression Language: true

Relationships:

NameDescription
retryA FlowFile is routed to this relationship if the document cannot be fetched but attempting the operation again may succeed. Note that if the processor has no incoming connections, flow files may still be sent to this relationship based on the processor properties and the results of the fetch operation.
successAll FlowFiles that are read from Elasticsearch are routed to this relationship.
failureAll FlowFiles that cannot be read from Elasticsearch are routed to this relationship. Note that only incoming flow files will be routed to failure.

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
filenameThe filename attribute is set to the document identifier
es.idThe Elasticsearch document identifier
es.indexThe Elasticsearch index containing the document
es.typeThe Elasticsearch document type
es.result.*If Target is 'Flow file attributes', the JSON attributes of each result will be placed into corresponding attributes with this prefix.

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component allows an incoming relationship.