OpenSearch中的数据,既支持数据源导入,也支持无数据源,通过API/SDK/控制台上传文件的方式导入数据。通过API/SDK导入非常灵活,完全由用户控制。
字段类型对应关系
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推送数据
1.控制台上传文件的功能一般用于搜索功能测试,不适用于大量文档上传,效率比较低,一次只能上传2M大小的文档。其他API/SDK更多推送系统限制,点击此处查看文档。
2.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);
3.API/SDK具体请参见:
Java SDK: Commit推送Demo、Push推送Demo
Php SDK :Push推送Demo、Push推送带搜索Demo
Go SDK :行为数据推送Demo、Push推送Demo