Search Search

yaml
type: "io.kestra.plugin.elasticsearch.Search"

Send a search request.

Get all documents from a search request and store it as outputs.

Examples

yaml
id: "search"
type: "io.kestra.plugin.elasticsearch.Search"
connection:
  hosts: 
   - "http://localhost:9200"
indexes:
 - "my_index"
request:
  query: 
    term:
      name:
        value: 'john'

Properties

connection

The connection properties.

contentType

  • Type: string
  • Dynamic:
  • Required:
  • Default: JSON
  • Possible Values:
    • JSON
    • SMILE
    • YAML
    • CBOR

The content type of value.

fetchType

  • Type: string
  • Dynamic:
  • Required:
  • Default: FETCH
  • Possible Values:
    • STORE
    • FETCH
    • FETCH_ONE
    • NONE

The way you want to store the data.

FETCH_ONE output the first row, FETCH output all the rows, STORE store all rows in a file, NONE do nothing.

indexes

  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required:

The ElasticSearch indices.

Default to all indices.

request

  • Type: object
  • Dynamic: ✔️
  • Required:

The ElasticSearch value.

Can be a JSON string. In this case, the contentType will be used or a raw Map.

routing

  • Type: string
  • Dynamic: ✔️
  • Required:

Controls the shard routing of the request.

Using this value to hash the shard and not the id.

Outputs

row

  • Type: object
  • Dynamic:
  • Required:

Map containing the first row of fetched data.

Only populated if using fetchType=FETCH_ONE.

rows

  • Type: array
  • SubType: object
  • Dynamic:
  • Required:

List containing the fetched data.

Only populated if using fetchType=FETCH.

size

  • Type: integer
  • Dynamic:
  • Required:

The size of the rows fetched.

total

  • Type: integer
  • Dynamic:
  • Required:

The total of the rows fetched without pagination.

uri

  • Type: string
  • Dynamic:
  • Required:
  • Format: uri

The URI of the stored data.

Only populated if using fetchType=STORE.

Definitions

io.kestra.plugin.elasticsearch.ElasticsearchConnection

Properties

hosts
  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min items: 1

List of HTTP ElasticSearch servers.

Must be an URI like https://elasticsearch.com:9200 with scheme and port.

basicAuth

Basic auth configuration.

headers
  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required:

List of HTTP headers to be send on every request.

Must be a string with key value separated with :, ex: Authorization: Token XYZ.

pathPrefix
  • Type: string
  • Dynamic: ✔️
  • Required:

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.

strictDeprecationMode
  • Type: boolean
  • Dynamic:
  • Required:

Whether the REST client should return any response containing at leas one warning header as a failure.

trustAllSsl
  • Type: boolean
  • Dynamic:
  • Required:

Trust all SSL CA certificates.

Use this if the server is using a self signed SSL certificate.

io.kestra.plugin.elasticsearch.ElasticsearchConnection-BasicAuth

Properties

password
  • Type: string
  • Dynamic: ✔️
  • Required:

Basic auth password.

username
  • Type: string
  • Dynamic: ✔️
  • Required:

Basic auth username.