Elasticsearch
Elasticsearch Embedding Store
type: "io.kestra.plugin.ai.embeddings.Elasticsearch"
Examples
Ingest documents into an Elasticsearch embedding store (requires Elasticsearch 8.15+)
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-exp-03-07
apiKey: "{{ kv('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 *RequiredNon-dynamicElasticsearch-ElasticsearchConnection
indexName *Requiredstring
The name of the index to store embeddings
Definitions
io.kestra.plugin.ai.embeddings.Elasticsearch-ElasticsearchConnection
hosts *Requiredarray
1
List of HTTP Elasticsearch servers
Must be a URI like https://example.com: 9200
with scheme and port
basicAuth Elasticsearch-ElasticsearchConnection-BasicAuth
Basic authorization configuration
headers array
List of HTTP headers to be sent with every request
Each item is a key: value
string, e.g., Authorization: Token XYZ
pathPrefix string
Path prefix for all HTTP requests
If set to /my/path
, each client request becomes /my/path/
+ endpoint. Useful when Elasticsearch is behind a proxy providing a base path; do not use otherwise.
strictDeprecationMode booleanstring
Treat responses with deprecation warnings as failures
trustAllSsl booleanstring
Trust all SSL CA certificates
Use this if the server uses a self-signed SSL certificate
io.kestra.plugin.ai.embeddings.Elasticsearch-ElasticsearchConnection-BasicAuth
password string
Basic authorization password
username string
Basic authorization username