最近更新时间:2024.04.16 13:11:53
首次发布时间:2023.12.08 10:47:33
upsertData 用于在指定的数据集 Collection 内写入数据。指定写入的数据是一个数组,允许单次插入一条数据或者多条数据,单次最多可插入100条数据。
说明
当前不支持更新部分字段,每次写入数据都要更新所有字段。写入数据时,如果 Collection 中已存在相同主键的数据,则会覆盖源数据;如果 Collection 中没有相同主键的数据,则会写入新数据。
参数名 | 子参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|---|
DataObject 说明 DataObject实例或者实例列表。 | fields | array<map> | 是 | 指定写入的数据。
|
TTL | int | 否 | 数据过期时间,单位为秒。
|
HashMap<String,Object> field1 = new HashMap<String,Object>(); List<String> author1 = new ArrayList<>(); author1.add("name1"); author1.add("name2"); field1.put("doc_id", "11"); field1.put("text_vector", genRandomVector(12)); field1.put("text_sparse_vector", {"hello": 0.34, "world": 0.03, "!": 0.11}); field1.put("like", 1); field1.put("price", 1.11); field1.put("aim", true); field1.put("author", author1); DataObject dataObject1 = new DataObject() .setFields(field1) .setTTL(200000) .build(); HashMap<String,Object> field2 = new HashMap<String,Object>(); List<String> author2 = new ArrayList<>(); author2.add("name3"); author2.add("name4"); field2.put("doc_id", "22"); field2.put("text_vector", genRandomVector(12)); field2.put("text_sparse_vector", {"hi": 0.12, "there": 0.043, "!": 0.5}); field2.put("like", 2); field2.put("price", 1.11); field2.put("aim", false); field2.put("author", author2); DataObject dataObject2 = new DataObject() .setFields(field2) .build(); HashMap<String,Object> field3 = new HashMap<String,Object>(); List<String> author3 = new ArrayList<>(); author3.add("name5"); author3.add("name6"); field3.put("doc_id", "33"); field3.put("text_vector", genRandomVector(12)); field3.put("text_sparse_vector", {"hi": 0.12, "there": 0.043, "!": 0.5}); field3.put("like", 3); field3.put("price", 3.33); field3.put("aim", false); field3.put("author", author3); DataObject dataObject3 = new DataObject() .setFields(field3) .setTTL(6000000) .build(); HashMap<String,Object> field4 = new HashMap<String,Object>(); List<String> author4 = new ArrayList<>(); author4.add("name7"); author4.add("name8"); field4.put("doc_id", "44"); field4.put("text_vector", genRandomVector(12)); field4.put("text_sparse_vector", {"hi": 0.12, "there": 0.043, "!": 0.5}); field4.put("like", 4); field4.put("price", 4.44); field4.put("aim", false); field4.put("author", author4); DataObject dataObject4 = new DataObject() .setFields(field4) .build(); Collection collection = vikingDBService.getCollection("javaSDKTest"); List<DataObject> dataObjects = new ArrayList<>(); dataObjects.add(dataObject1); dataObjects.add(dataObject2); dataObjects.add(dataObject3); dataObjects.add(dataObject4); collection.upsertData(dataObjects);
Java 调用执行上面的任务,执行成功无返回信息。