Easysearch source connector

Support Those Engines

Spark
Flink
SeaTunnel Zeta

Description

Used to read data from INFINI Easysearch.

Using Dependency

Depenndency easysearch-client

Key features

Engine Supported

Data Type Mapping

Easysearch Data Type SeaTunnel Data Type
STRING
KEYWORD
TEXT
STRING
BOOLEAN BOOLEAN
BYTE BYTE
SHORT SHORT
INTEGER INT
LONG LONG
FLOAT
HALF_FLOAT
FLOAT
DOUBLE DOUBLE
Date LOCAL_DATE_TIME_TYPE

hosts [array]

Easysearch cluster http address, the format is host:port, allowing multiple hosts to be specified. Such as ["host1:9200", "host2:9200"].

username [string]

security username.

password [string]

security password.

index [string]

Easysearch index name, support * fuzzy matching.

source [array]

The fields of index. You can get the document id by specifying the field _id.If sink _id to other index,you need specify an alias for _id due to the Easysearch limit. If you don’t config source, you must config schema.

query [json]

Easysearch DSL. You can control the range of data read.

scroll_time [String]

Amount of time Easysearch will keep the search context alive for scroll requests.

scroll_size [int]

Maximum number of hits to be returned with each Easysearch scroll request.

schema

The structure of the data, including field names and field types. If you don’t config schema, you must config source.

tls_verify_certificate [boolean]

Enable certificates validation for HTTPS endpoints

tls_verify_hostname [boolean]

Enable hostname validation for HTTPS endpoints

tls_keystore_path [string]

The path to the PEM or JKS key store. This file must be readable by the operating system user running SeaTunnel.

tls_keystore_password [string]

The key password for the key store specified

tls_truststore_path [string]

The path to PEM or JKS trust store. This file must be readable by the operating system user running SeaTunnel.

tls_truststore_password [string]

The key password for the trust store specified

common options

Source plugin common parameters, please refer to Source Common Options for details

Examples

simple

  1. Easysearch {
  2. hosts = ["localhost:9200"]
  3. index = "seatunnel-*"
  4. source = ["_id","name","age"]
  5. query = {"range":{"firstPacket":{"gte":1700407367588,"lte":1700407367588}}}
  6. }

complex

  1. Easysearch {
  2. hosts = ["Easysearch:9200"]
  3. index = "st_index"
  4. schema = {
  5. fields {
  6. c_map = "map<string, tinyint>"
  7. c_array = "array<tinyint>"
  8. c_string = string
  9. c_boolean = boolean
  10. c_tinyint = tinyint
  11. c_smallint = smallint
  12. c_int = int
  13. c_bigint = bigint
  14. c_float = float
  15. c_double = double
  16. c_decimal = "decimal(2, 1)"
  17. c_bytes = bytes
  18. c_date = date
  19. c_timestamp = timestamp
  20. }
  21. }
  22. query = {"range":{"firstPacket":{"gte":1700407367588,"lte":1700407367588}}}
  23. }

SSL (Disable certificates validation)

  1. source {
  2. Easysearch {
  3. hosts = ["https://localhost:9200"]
  4. username = "admin"
  5. password = "admin"
  6. tls_verify_certificate = false
  7. }
  8. }

SSL (Disable hostname validation)

  1. source {
  2. Easysearch {
  3. hosts = ["https://localhost:9200"]
  4. username = "admin"
  5. password = "admin"
  6. tls_verify_hostname = false
  7. }
  8. }

SSL (Enable certificates validation)

  1. source {
  2. Easysearch {
  3. hosts = ["https://localhost:9200"]
  4. username = "admin"
  5. password = "admin"
  6. tls_keystore_path = "${your Easysearch home}/config/certs/http.p12"
  7. tls_keystore_password = "${your password}"
  8. }
  9. }

Changelog

next version

  • Add Easysearch Source Connector
  • Support https protocol
  • Support DSL