本文介绍如何通过Java SDK,根据id或id列表获取Collection中已存在的Doc。
说明
如果指定id不存在,则该id对应的Doc为空。
前提条件
- 已创建Cluster:创建Cluster。已获得API-KEY:API-KEY管理。已安装最新版SDK:安装DashVector SDK。
接口定义
Java示例:
// class DashVectorCollection// 同步接口public Response<Map<String, Doc>> fetch(FetchDocRequest fetchDocRequest);// 异步接口public ListenableFuture<Response<Map<String, Doc>>> fetchAsync(FetchDocRequest fetchDocRequest);使用示例
说明
- 需要使用您的api-key替换示例中的YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。本示例需要参考新建Collection-使用示例提前创建好名称为
quickstart的Collection,并参考插入Doc提前插入部分数据。Java示例:
import com.aliyun.dashvector.DashVectorClient;import com.aliyun.dashvector.DashVectorCollection;import com.aliyun.dashvector.common.DashVectorException;import com.aliyun.dashvector.models.Doc;import com.aliyun.dashvector.models.requests.FetchDocRequest;import com.aliyun.dashvector.models.responses.Response;import java.util.Map;public class Main { public static void main(String[] args) throws DashVectorException { DashVectorClient client = new DashVectorClient("YOUR_API_KEY", "YOUR_CLUSTER_ENDPOINT"); DashVectorCollection collection = client.get("quickstart"); // 构建 FetchDocRequest FetchDocRequest request = FetchDocRequest.builder() .id("1") .build(); // 发送获取Doc请求 Response<Map<String, Doc>> response = collection.fetch(request); System.out.println(response); // example output: // { // "code":0, // "message":"Success", // "requestId":"489c5cda-3ffc-4171-b6e0-1837b932962b", // "output":{ // "1":{ // "id":"1", // "vector":{"value":[0.1,0.2,0.3,0.4]}, // "fields":{ // "name":"zhangsan", // "age":20, // "weight":100.0, // "anykey1":"String", // "anykey2":1, // "anykey3":true, // "anykey4":3.1415926 // }, // "score":0 // } // } // } }}入参描述
通过FetchDocRequestBuilder构造FetchDocRequest对象,其可用方法如下表所示:
| 方法 | 必填 | 默认值 | 描述 |
| ids(List ids) | 是 | - | 文档主键列表 |
| id(String id) | 否 | - | |
| partition(String partition) | 否 | default | 分区名称 |
| build() | - | - | 构造FetchDocRequest对象 |
