import ChangeLog from ‘../changelog/connector-easysearch.md’;

Easysearch

Easysearch 源连接器

支持引擎

Spark
Flink
SeaTunnel Zeta

描述

用于从INFINI Easysearch读取数据。

使用依赖

依赖 easysearch-client

关键特性

:::提示

支持的引擎

数据类型映射

Easysearch 数据类型SeaTunnel 数据类型
STRING
KEYWORD
TEXT
STRING
BOOLEANBOOLEAN
BYTEBYTE
SHORTSHORT
INTEGERINT
LONGLONG
FLOAT
HALF_FLOAT
FLOAT
DOUBLEDOUBLE
DateLOCAL_DATE_TIME_TYPE

hosts [array]

Easysearch集群http地址,格式为“host:port”,允许指定多个主机。例如[“host1:9200”,“host2:9200”]

username [string]

安全用户名。

password [string]

安全密码。

index [string]

Easysearch搜索索引名称,支持*模糊匹配。

source [array]

索引字段。 您可以通过指定字段“_id”来获取文档id。如果sink_id指向其他索引,由于Easysearch的限制,您需要为_id指定一个别名。 若不配置源代码,则必须配置schema

query [json]

Easysearch DSL. 您可以控制读取数据的范围。

scroll_time [String]

Easysearch将为滚动请求保持搜索上下文活动的时间量。

scroll_size [int]

每次Easysearch滚动请求返回的最大请求数。

schema

数据的结构,包括字段名和字段类型。 如果不配置schema,则必须配置source

tls_verify_certificate [boolean]

为HTTPS端点启用证书验证

tls_verify_hostname [boolean]

为HTTPS端点启用主机名验证

tls_keystore_path [string]

PEM或JKS密钥存储的路径。运行SeaTunnel的操作系统用户必须能够读取此文件。

tls_keystore_password [string]

指定密钥存储的密钥密码

tls_truststore_path [string]

PEM或JKS信任存储的路径。运行SeaTunnel的操作系统用户必须能够读取此文件.

tls_truststore_password [string]

指定的信任存储的密钥密码

common options

Source插件常用参数,详见[Source common Options](../source-common-options.md)

示例

简单的例子

Easysearch {
    hosts = ["localhost:9200"]
    index = "seatunnel-*"
    source = ["_id","name","age"]
    query = {"range":{"firstPacket":{"gte":1700407367588,"lte":1700407367588}}}
}

复杂的例子

Easysearch {
    hosts = ["Easysearch:9200"]
    index = "st_index"
    schema = {
        fields {
            c_map = "map<string, tinyint>"
            c_array = "array<tinyint>"
            c_string = string
            c_boolean = boolean
            c_tinyint = tinyint
            c_smallint = smallint
            c_int = int
            c_bigint = bigint
            c_float = float
            c_double = double
            c_decimal = "decimal(2, 1)"
            c_bytes = bytes
            c_date = date
            c_timestamp = timestamp
        }
    }
    query = {"range":{"firstPacket":{"gte":1700407367588,"lte":1700407367588}}}
}

SSL (禁用证书验证)

source {
    Easysearch {
        hosts = ["https://localhost:9200"]
        username = "admin"
        password = "admin"
        
        tls_verify_certificate = false
    }
}

SSL (禁用主机名验证)

source {
    Easysearch {
        hosts = ["https://localhost:9200"]
        username = "admin"
        password = "admin"
        
        tls_verify_hostname = false
    }
}

SSL (启用证书验证)

source {
    Easysearch {
        hosts = ["https://localhost:9200"]
        username = "admin"
        password = "admin"
        
        tls_keystore_path = "${your Easysearch home}/config/certs/http.p12"
        tls_keystore_password = "${your password}"
    }
}

变更日志