 MariaDB
MariaDB
MariaDB Embedding Store
type: "io.kestra.plugin.ai.embeddings.MariaDB"Examples
Ingest documents into a MariaDB embedding store
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.MariaDB
      username: "{{ kv('MARIADB_USERNAME') }}"
      password: "{{ kv('MARIADB_PASSWORD') }}"
      databaseUrl: "{{ kv('MARIADB_DATABASE_URL') }}"
      tableName: embeddings
      fieldName: id
    fromExternalURLs:
      - https://raw.githubusercontent.com/kestra-io/docs/refs/heads/main/content/blogs/release-0-24.md
Properties
createTable *Requiredbooleanstring
Whether to create the table if it doesn't exist
databaseUrl *Requiredstring
Database URL of the MariaDB database (e.g., jdbc: mariadb://host: port/dbname)
fieldName *Requiredstring
Name of the column used as the unique ID in the database
password *Requiredstring
The password
tableName *Requiredstring
Name of the table where embeddings will be stored
username *Requiredstring
The username
columnDefinitions array
Metadata Column Definitions
List of SQL column definitions for metadata fields (e.g., 'text TEXT', 'source TEXT'). Required only when using COLUMN_PER_KEY storage mode.
indexes array
Metadata Index Definitions
List of SQL index definitions for metadata columns (e.g., 'INDEX idx_text (text)'). Used only with COLUMN_PER_KEY storage mode.
metadataStorageMode string
Metadata Storage Mode
Determines how metadata is stored: - COLUMN_PER_KEY: Use individual columns for each metadata field (requires columnDefinitions and indexes). - COMBINED_JSON (default): Store metadata as a JSON object in a single column. If columnDefinitions and indexes are provided, COLUMN_PER_KEY must be used.
