updateData 用于为已存在数据的部分字段进行更新。支持 text、标量字段、vector 字段的更新。
参数名 | 子参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|---|
DataObject 说明 DataObject实例或者实例列表。 | fields | array<map> | 是 | 指定写入的数据。 注意 必须设置主键字段值
|
TTL | int | 否 | 数据过期时间,单位为秒。
|
//getCollection获取指定数据集,程序初始化时调用即可,无需重复调用 Collection collection = vikingDBService.getCollection("javaSDKTest");
// 更新 author 和 aim 字段,doc_id 是主键 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("aim", true); field1.put("author", author1); DataObject dataObject1 = new DataObject() .setFields(field1) .build(); // 更新 text_vector、text_sparse_vector、like 和 price 字段,doc_id 是主键 HashMap<String,Object> field2 = new HashMap<String,Object>(); 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); DataObject dataObject2 = new DataObject() .setFields(field2) .build(); List<DataObject> dataObjects = new ArrayList<>(); dataObjects.add(dataObject1); dataObjects.add(dataObject2); collection.updateData(dataObjects);
Java 调用执行上面的任务,执行成功无返回信息。