OpenSearch中的数据,既支持通过API/SDK/上传界面的方式导入,也支持直接从已有的云端数据源进行同步。如果选择通过API或SDK来上传数据,可以参照API手册直接上传,无需额外配置。如果选择同步云端数据的方式,则需要将数据源的相关信息在控制台中进行配置。目前系统提供了若干的数据处理插件可以实现一些简单的数据转化操作,在配置数据源字段对应关系(API方式上传数据的暂不支持,需要用户推送前处理好)可以选择使用。
[backcolor=transparent]一张OpenSearch表可以支持多个rds及TDDL(mysql)来源表(如分库分表的场景),但是ODPS源只能配置一个,如需多个ODPS来源表,请先将数据合并成一张表后再导入。
数据处理插件
系统中某些搜索功能或者特征函数需要特殊的字段类型支持。如Array类型字段,需要通过如下插件来转化,用户无法直接输入。[backcolor=transparent]
注意:该插件在数据源配置处配置,而不是定义应用结构的时候
配置项名称 | 说明 | 示例 | 版本 |
JsonKeyValueExtractor | 从Json格式的来源字段中提取指定的键值,提取出来的键值作为目标表字段的内容,只能抽取某个key中的值。 | {“title”:”the content”,”body”:”the content”} 中提取出键值title的内容,若内容为JsonArray格式,则将转化为系统中Array类型字段内容。此处的JsonArray格式,是指符合我们这边定义的JsonArray格式。例如 literal_array字段类型:{“tags”:[“a”,”b”,”c”]} 或 int_array字段类型: {“tags”:[1,2,3]} | 高级版 |
MultiValueSpliter | 将来源字段按照分隔符分割成多个值,分割后的内容作为目标表字段的内容,目标表字段必须是配置为ARRAY类型的字段 (若分隔符为不可见字符,需要使用unicode字符来标识,如\u001D) | 数据源内容为:1,2,3,指定分隔符为 “,” 直接输入一个英文的逗号即可 | 高级版/标准版 |
KeyValueExtractor | 从KV格式的来源字段中提取指定的键值,提取出来的键值作为目标表字段的内容,只能抽取某个key中的值。分隔符可以不填 | 实际内容为:key1:value1,value2;key2:value3,键为key1,key2,键分隔符为分号,键值分隔符为冒号,多值分隔符为逗号。如果配置了多值分隔符,则将转化为系统中Array类型字段内容,若存在2个相同的key,则只会抽取后面的那个key的值。 | 高级版 |
StringCatenateExtractor | 将多个指定字段按照指定的顺序拼接成一个字符串,该插件不支持int字段类型,建议用literal字段类型;字段列表以逗号分隔(字段需来自于目标字段) | 将field1,field2内容按照‘_’组成新的字段内容。另系统变量$table可以获取当前表名 | 高级版 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。