
Elasticsearch Search
CertifiedExecute Elasticsearch search request
Elasticsearch Search
Execute Elasticsearch search request
Runs the configured search against the Elasticsearch cluster and returns the response hits. Supports returning the first hit, all hits, or storing hits to Kestra internal storage; default fetchType=FETCH. Uses only the current response page—configure pagination on the request when you need more.
type: io.kestra.plugin.elasticsearch.SearchExamples
id: elasticsearch_search
namespace: company.team
tasks:
- id: search
type: io.kestra.plugin.elasticsearch.Search
connection:
hosts:
- "http://localhost:9200"
indexes:
- "my_index"
request:
query:
term:
name:
value: 'john'
Properties
connection *RequiredNon-dynamic
Elasticsearch connection
Connection settings shared by tasks; hosts are required.
io.kestra.plugin.elasticsearch.ElasticsearchConnection
1Elasticsearch hosts
List of HTTP(S) endpoints including scheme and port, e.g. https://elasticsearch.com: 9200; at least one is required.
Basic authentication
Optional HTTP basic auth credentials rendered at runtime.
io.kestra.plugin.elasticsearch.ElasticsearchConnection-BasicAuth
Basic auth password
Password for HTTP basic authentication.
Basic auth username
Username for HTTP basic authentication.
Custom HTTP headers
Headers sent on every request in Name: Value format, e.g. Authorization: Token XYZ.
Request path prefix
Base path prepended to every Elasticsearch endpoint, e.g. /my/path. Use only when the cluster is served behind a proxy that requires a prefix; leave empty otherwise.
Fail on warning headers
When true, any response containing Elasticsearch warning headers is treated as an error.
8Target Elasticsearch server major version
Major version used for compatibility headers (Accept and Content-Type). Set to 8 for Elasticsearch 8 clusters or 9 for Elasticsearch 9 clusters.
Trust all SSL certificates
Skips certificate validation for HTTPS connections; use only with self-signed certificates in non-production.
request *Requiredobject
Search request body
Elasticsearch search body as Map or JSON string; rendered before execution.
fetchType string
FETCHSTOREFETCHFETCH_ONENONEResult handling mode
Controls how hits are exposed in outputs; default FETCH returns all hits in the response. FETCH_ONE returns only the first hit, STORE writes hits to Kestra storage and returns a URI, and NONE leaves outputs empty.
indexes array
Target indices
List of Elasticsearch indices to query; empty means all indices.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
routing string
Custom shard routing
Optional routing key hashed to pick the shard instead of using the document id.
Outputs
row object
First hit
Available only when fetchType=FETCH_ONE; contains the first hit source.
rows array
Fetched hits
Available only when fetchType=FETCH; contains hit sources for the current response page.
size integer
Returned hit count
Number of hits included in outputs for the selected fetch type.
total integer
Total hits reported
Total hits reported by Elasticsearch, regardless of pagination.
uri string
uriStored hits URI
Available only when fetchType=STORE; Kestra internal storage path to the Ion file.
Metrics
records counter
recordsNumber of records returned
requests.count counter
Number of search requests sent
requests.duration timer
Duration of search requests