OpenSearch行业算法版提供三种接入方案:用户可选择通过API/SDK导入以获得最大灵活性;对于轻量化测试,可使用控制台直接上传小批量数据;需对接云端数据库时,系统支持与RDS、MaxCompute、PolarDB等数据源的自动化管道同步,通过可视化配置实现自动化管道同步。
字段类型对应关系
|
OpenSearch 字段类型 |
API推送字段类型 |
|
INT |
int、long |
|
INT_ARRAY |
int [] 、long [] |
|
FLOAT |
float |
|
FLOAT_ARRAY |
float [] |
|
DOUBLE |
double |
|
DOUBLE_ARRAY |
double [] |
|
LITERAL |
string |
|
LITERAL_ARRAY |
string [] |
|
SHORT_TEXT |
string |
|
TEXT |
string |
|
TIMESTAMP |
long |
|
GEO_POINT |
string,格式为:lon lat。lon表示经度,lat表示纬度,都为double类型,二者之间用空格分隔。lon的范围:[-180, 180], lat范围[-90, 90]。 |
API推送数据
-
控制台上传文件的功能一般用于搜索功能测试,不适用于大量文档上传,效率比较低,一次只能上传2M大小的文档。其他API/SDK更多推送系统限制,点击此处查看文档。
在实例管理页面的实例列表中,找到目标实例,单击操作列的下拉菜单,选择上传文件。
-
API/SDK不支持设置数据源插件,请自行拼接、处理后传入OpenSearch应用中。比如,array类型使用API上传时,注意不要上传为string格式,而是上传为数组类型。例:
//定义Map对象存储上传文档数据,此为文档2 Map<String,Object> doc2 =Maps.newLinkedHashMap(); doc2.put("id",1); String[] literal_arr2 ={"元素1","元素2"}; doc2.put("literal_arr", literal_arr2); -
API/SDK具体请参见:
Java SDK: Commit推送Demo、Push推送Demo
Php SDK :Push推送Demo、Push推送带搜索Demo
Go SDK :行为数据推送Demo、Push推送Demo
TypeScript/Node.js SDK:安装
@alicloud/opensearch-sdk包。npm install @alicloud/opensearch-sdk通过pushDocument接口推送数据:
import Client, { Config, Document, PushDocumentRequestModel } from '@alicloud/opensearch-sdk'; // 使用AccessKey鉴权 const config = new Config({ endpoint: 'opensearch-cn-beijing.aliyuncs.com', // 流量接入地址,横杠格式 accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID, accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET, }); const client = new Client(config); // 构造待推送文档 const docs = [ new Document({ cmd: 'ADD', fields: { id: '1', title: '示例文档', body: '文档内容' }, }), ]; // 推送数据到指定应用的表 const request = new PushDocumentRequestModel({ body: docs }); const response = await client.pushDocument('应用名', '表名', request); console.log(response.body);不同地域的流量接入endpoint格式为
opensearch-cn-{region}.aliyuncs.com,例如杭州地域对应opensearch-cn-hangzhou.aliyuncs.com。SDK鉴权使用阿里云AccessKey(AK/SK),通过Config传入,不使用API-key方式。OpenSearch提供两个npm包:
@alicloud/opensearch-sdk用于流量API(搜索、数据推送、下拉提示),@alicloud/opensearch20171225用于管控API(应用管理)。数据推送场景使用@alicloud/opensearch-sdk。
相关链接
-
API/SDK导入:详情请参考:Commit推送Demo。
-
控制台上传文件:每次上传文件大小限制为2MB。详情请参考:使用教程。
-
数据源导入:详情请参考:RDS数据源配置。