阿里云首页 开放搜索

DataSource

描述

数据源信息

示例

{
  "tableName": "news",
  "type": "rds",
  "fields": [
    {
      "id": "id"
    },
    {
      "caption": "caption"
    },
    {
      "content": "content"
    },
    {
      "categoryId": "category_id"
    }
  ],
  "plugins": {
    "caption": {
      "name": "HTMLTagRemover",
      "parameters": {}
    },
    "content": {
      "name": "HTMLTagRemover",
      "parameters": {}
    }
  },
  "keyField": "id",
  "parameters": {
    "filter": "",
    "instanceId": "rm-abc",
    "dbName": "my_db",
    "dbTableName": "my_table",
    "dbUser": "my_user",
    "dbPassword": "my-password",
    "autoSync": true
  }
}

结构

字段

类型

描述

tableName

String

表名

type

String

数据源类型- rds- odps- opensearch-polardb

fields[]

Object

表字段映射信息{key:value},key:数据源表字段,value:应用表字段。

plugins

Object

字段数据处理插件

plugins.*

Object

插件详情,具体说明查看下文Plugin*:字段名

keyField

String

主键

parameters

Object

数据源信息不同数据源的配置信息各不相同,具体说明查看相关下文:- rds- odps- opensearch- polardb

Plugin

示例

{
  "name": "HTMLTagRemover",
  "parameters": {}
}

结构

字段

类型

描述

name

String

插件名称- JsonKeyValueExtractor- MultiValueSpliter- KeyValueExtractor- StringCatenateExtractor- HTMLTagRemover

parameters

Object

插件参数不同插件的参数各不相同,具体说明查看相关下文:- JsonKeyValueExtractor- MultiValueSpliter- KeyValueExtractor- StringCatenateExtractor- HTMLTagRemover

JsonKeyValueExtractor

从Json格式的来源字段中提取指定的键值,提取出来的键值作为目标表字段的内容,只能抽取某个key中的值。示例

{
  "key": "my_field"
}

结构

字段

类型

描述

key

String

键名

MultiValueSpliter

将来源字段按照分隔符分割成多个值,分割后的内容作为目标表字段的内容,目标表字段必须是配置为ARRAY类型的字段 (若分隔符为不可见字符,需要使用unicode字符来标识,如\u001D)。示例

{
  "seperator": "|"
}

结构

字段

类型

描述

seperator

String

分隔符

KeyValueExtractor

从KV格式的来源字段中提取指定的键值,提取出来的键值作为目标表字段的内容,只能抽取某个key中的值。分隔符可以不填。示例

{
  "key": "my_field",
  "fieldSep": ";",
  "kvSep": ":"
}

结构

字段

类型

描述

key

String

fieldSep

String

键分隔符

kvSep

String

键值分隔符

StringCatenateExtractor

将多个指定字段按照指定的顺序拼接成一个字符串,该插件不支持int字段类型,建议用literal字段类型;字段列表以逗号分隔(字段需来自于目标字段)。示例

{
  "connector": "-",
  "sources": "id,title"
}

结构

字段

类型

描述

connector

String

连接符

sources

String

指定的多个字段

HTMLTagRemover

剔除来源字段中的HTML标签,剔除标签后的内容复制到当前字段,源字段配置为当前字段则做内容替换。注:此插件不需要额外参数。

rds

示例

{
  "instanceId": "rds-instance-id",
  "dbName": "my_db",
  "dbTableName": "my_table",
  "dbUser": "my",
  "dbPassword": "my_passwd",
  "filter":"",
  "autoSync": true
}

结构

字段

类型

描述

instanceId

String

实例ID

dbName

String

数据库名

dbTableName

String

数据库表名

dbUser

String

数据库账号

dbPassword

String

数据库账号密码

filter

String

过滤条件目前支持的条件有<, >, =, !=, >=, <=,多个条件用’,’分隔

autoSync

Boolean

是否数据自动同步- true 是- false 否

odps

示例

{
  "projectName": "my_project",
  "tableName": "my_table",
  "partition": "",
  "done": "no",
  "donePrefix": "",
  "timestamp":""
}

结构

字段

类型

描述

projectName

String

项目名称

tableName

String

表名

partition

String

分区信息参考:ODPS数据源配置

done

String

是否使用done文件- no- yes

donePrefix

String

done文件前缀注:当done=”yes”时必填

timestamp

String

全量数据的时间戳

opensearch

示例

{
  "appId": "12345678",
  "tableName": "my_table",
  "appType": "standard",
  "filter": ""
}

结构

字段

类型

描述

appId

String

应用ID

tableName

String

应用表名

appType

String

应用类型- standard 标准版- advance 老高级版(新应用不支持此类型)- enhanced 新高级版

filter

String

过滤条件目前支持的条件有<, >, =, !=, >=, <=,多个条件用’,’分隔

polardb

示例

{
  "clusterId": "my_cluster_id",
  "dbName": "my_db",
  "dbTableName": "my_table",
  "aliyunUserId":"123455789",
  "dbUser":"my_user",
  "dbPassword":"my_passwd",
  "autoSync":true,
  "filter": "id>100"
}

结构

字段

类型

描述

clusterId

String

集群ID

dbName

String

数据库名

dbTableName

String

数据表名

aliyunUserId

String

阿里云用户ID

dbUser

String

数据库账号

dbPassword

String

数据库账号密码

autoSync

Boolean

是否数据自动同步- true 是- false 否

filter

String

过滤条件目前支持的条件有<, >, =, !=, >=, <=,多个条件用’,’分隔