Skip to main content
Version: 2.3.8

Typesense

Description

Outputs data to Typesense.

Key Features

Options

NameTypeRequiredDefault Value
hostsarrayYes-
collectionstringYes-
schema_save_modestringYesCREATE_SCHEMA_WHEN_NOT_EXIST
data_save_modestringYesAPPEND_DATA
primary_keysarrayNo
key_delimiterstringNo_
api_keystringNo
max_retry_countintNo3
max_batch_sizeintNo10
common-optionsNo-

hosts [array]

The access address for Typesense, formatted as host:port, e.g., ["typesense-01:8108"].

collection [string]

The name of the collection to write to, e.g., "seatunnel".

primary_keys [array]

Primary key fields used to generate the document id.

key_delimiter [string]

Sets the delimiter for composite keys (default is _).

api_key [config]

The api_key for secure access to Typesense.

max_retry_count [int]

The maximum number of retry attempts for batch requests.

max_batch_size [int]

The maximum size of document batches.

common options

Common parameters for Sink plugins. Refer to Common Sink Options for more details.

schema_save_mode

Choose how to handle the target-side schema before starting the synchronization task:

  • RECREATE_SCHEMA: Creates the table if it doesn’t exist, and deletes and recreates it if it does.
  • CREATE_SCHEMA_WHEN_NOT_EXIST: Creates the table if it doesn’t exist, skips creation if it does.
  • ERROR_WHEN_SCHEMA_NOT_EXIST: Throws an error if the table doesn’t exist.

data_save_mode

Choose how to handle existing data on the target side before starting the synchronization task:

  • DROP_DATA: Retains the database structure but deletes the data.
  • APPEND_DATA: Retains both the database structure and the data.
  • ERROR_WHEN_DATA_EXISTS: Throws an error if data exists.

Example

Simple example:

sink {
Typesense {
source_table_name = "typesense_test_table"
hosts = ["localhost:8108"]
collection = "typesense_to_typesense_sink_with_query"
max_retry_count = 3
max_batch_size = 10
api_key = "xyz"
primary_keys = ["num_employees","id"]
key_delimiter = "="
schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"
data_save_mode = "APPEND_DATA"
}
}