AI Elasticsearch

AI Elasticsearch

Certified

Store embeddings in Elasticsearch

Targets an Elasticsearch 8.15+ cluster using the provided hosts/index; when drop=true the index is deleted. Supports basic auth, custom headers, path prefix, and trust-all TLS for self-signed certs.

yaml
type: io.kestra.plugin.ai.embeddings.Elasticsearch

Ingest documents into an Elasticsearch embedding store (requires Elasticsearch 8.15+)

yaml
id: document_ingestion
namespace: company.ai

tasks:
  - id: ingest
    type: io.kestra.plugin.ai.rag.IngestDocument
    provider:
      type: io.kestra.plugin.ai.provider.GoogleGemini
      modelName: gemini-embedding-001
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    embeddings:
      type: io.kestra.plugin.ai.embeddings.Elasticsearch
      connection:
        hosts:
          - http://localhost:9200
    fromExternalURLs:
      - https://raw.githubusercontent.com/kestra-io/docs/refs/heads/main/content/blogs/release-0-24.md
Properties

Connection

Elasticsearch connection settings: hosts, authentication, and TLS options. No default: this property is required.

Definitions
hosts*array
SubTypestring
Min items1

Elasticsearch HTTP servers

URLs of the Elasticsearch nodes to connect to, each including scheme, host and port. No default: this property is required and must not be empty.

basicAuth

Basic authorization

Username and password used for HTTP basic authentication. Not set by default (anonymous access).

passwordstring

Basic authorization password

Password of the Elasticsearch user. Store it as a Kestra secret rather than inline. No default: this property is required inside basicAuth.

usernamestring

Basic authorization username

User authenticating against Elasticsearch. No default: this property is required inside basicAuth.

headersarray
SubTypestring

HTTP headers sent with every request

Extra HTTP headers added to each request, each written as a key: value string. Not set by default.

pathPrefixstring

Path prefix for all HTTP requests

Prefix prepended to every request path, so /my/path turns each call into /my/path/ + endpoint. Use it only when Elasticsearch sits behind a proxy that serves it under a base path. Not set by default.

strictDeprecationModebooleanstring

Strict deprecation mode

If true, responses carrying deprecation warnings are treated as failures. Defaults to false.

targetServerVersionintegerstring
Default8

Target Elasticsearch server major version

Major version advertised in the compatible-with media-type headers (Accept and Content-Type). The bundled elasticsearch-java 9.x client would otherwise negotiate compatible-with=9, which Elasticsearch 8 rejects. Use 8 for an Elasticsearch 8 cluster or 9 for Elasticsearch 9. Defaults to 8.

trustAllSslbooleanstring

Trust all SSL CA certificates

If true, accept any TLS certificate presented by the server, which is sometimes needed for self-signed certificates. Defaults to false. WARNING: enabling this disables both certificate chain validation and hostname verification, exposing connections to man-in-the-middle attacks. Prefer supplying a custom CA certificate instead, and use this only in trusted, controlled environments.

Index name

Elasticsearch index that stores the embeddings. No default: this property is required.