A controller service for accessing an Elasticsearch client. Uses the Elasticsearch REST Client (7.13.4, the last version before client connections verifythe server is Elastic provided, this should allow for connections to compatible alternatives, e.g. AWS OpenSearch)
elasticsearch, elasticsearch6, elasticsearch7, elasticsearch8, client
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 NiFi Expression Language.
Display Name | API Name | Default Value | Allowable Values | Description |
---|---|---|---|---|
HTTP Hosts | el-cs-http-hosts | A comma-separated list of HTTP hosts that host Elasticsearch query nodes. Note that the Host is included in requests as a header (typically including domain and port, e.g. elasticsearch:9200). Supports Expression Language: true (will be evaluated using Environment variables only) | ||
Path Prefix | el-cs-path-prefix | Sets the path's prefix for every request used by the http client. For example, if this is set to "/my/path", then any client request will become "/my/path/" + endpoint. In essence, every request's endpoint is prefixed by this pathPrefix. The path prefix is useful for when Elasticsearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios | ||
Authorization Scheme | authorization-scheme | Basic |
| Authorization Scheme used for optional authentication to Elasticsearch. |
Username | el-cs-username | The username to use with XPack security. Supports Expression Language: true (will be evaluated using Environment variables only) This Property is only considered if the [Authorization Scheme] Property has a value of "Basic". | ||
Password | el-cs-password | The password to use with XPack security. Sensitive Property: true Supports Expression Language: true (will be evaluated using Environment variables only) This Property is only considered if the [Authorization Scheme] Property has a value of "Basic". | ||
API Key ID | api-key-id | Unique identifier of the API key. This Property is only considered if the [Authorization Scheme] Property has a value of "API Key". | ||
API Key | api-key | Encoded API key. Sensitive Property: true This Property is only considered if the [Authorization Scheme] Property has a value of "API Key". | ||
SSL Context Service | el-cs-ssl-context-service | Controller Service API: SSLContextService Implementations: StandardRestrictedSSLContextService 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. | |
Proxy Configuration Service | proxy-configuration-service | Controller Service API: ProxyConfigurationService Implementation: StandardProxyConfigurationService | Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP | |
Connect timeout | el-cs-connect-timeout | 5000 | Controls the amount of time, in milliseconds, before a timeout occurs when trying to connect. | |
Read timeout | el-cs-socket-timeout | 60000 | Controls the amount of time, in milliseconds, before a timeout occurs when waiting for a response. | |
Charset | el-cs-charset | UTF-8 | The charset to use for interpreting the response from Elasticsearch. | |
Suppress Null/Empty Values | el-cs-suppress-nulls | Always Suppress |
| Specifies how the writer should handle null and empty fields (including objects and arrays) |
Enable Compression | el-cs-enable-compression | false |
| Whether the REST client should compress requests using gzip content encoding and add the "Accept-Encoding: gzip" header to receive compressed responses |
Send Meta Header | el-cs-send-meta-header | true |
| Whether to send a "X-Elastic-Client-Meta" header that describes the runtime environment. It contains information that is similar to what could be found in User-Agent. Using a separate header allows applications to use User-Agent for their own needs, e.g. to identify application version or other environment information |
Strict Deprecation | el-cs-strict-deprecation | false |
| Whether the REST client should return any response containing at least one warning header as a failure |
Node Selector | el-cs-node-selector | Any |
| Selects Elasticsearch nodes that can receive requests. Used to keep requests away from dedicated Elasticsearch master nodes |
Sniff Cluster Nodes | el-cs-sniff-cluster-nodes | false |
| Periodically sniff for nodes within the Elasticsearch cluster via the Elasticsearch Node Info API. If Elasticsearch security features are enabled (default to "true" for 8.x+), the Elasticsearch user must have the "monitor" or "manage" cluster privilege to use this API.Note that all HTTP Hosts (and those that may be discovered within the cluster using the Sniffer) must use the same protocol, e.g. http or https, and be contactable using the same client settings. Finally the Elasticsearch "network.publish_host" must match one of the "network.bind_host" list entries see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html for more information |
Sniffer Interval | el-cs-sniffer-interval | 5 mins | Interval between Cluster sniffer operations This Property is only considered if the [Sniff Cluster Nodes] Property has a value of "true". | |
Sniffer Request Timeout | el-cs-sniffer-request-timeout | 1 sec | Cluster sniffer timeout for node info requests This Property is only considered if the [Sniff Cluster Nodes] Property has a value of "true". | |
Sniff on Failure | el-cs-sniff-failure | false |
| Enable sniffing on failure, meaning that after each failure the Elasticsearch nodes list gets updated straightaway rather than at the following ordinary sniffing round This Property is only considered if the [Sniff Cluster Nodes] Property has a value of "true". |
Sniffer Failure Delay | el-cs-sniffer-failure-delay | 1 min | Delay between an Elasticsearch request failure and updating available Cluster nodes using the Sniffer This Property is only considered if the [Sniff on Failure] Property has a value of "true". |
Supports Sensitive Dynamic Properties: No
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
---|---|---|
The name of a Request Header to add | The value of the Header | Adds the specified property name/value as a Request Header in the Elasticsearch requests. Supports Expression Language: true (will be evaluated using Environment variables only) |