掘金 人工智能 09月03日
Java SDK获取Collection文档
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文档介绍了如何使用Java SDK根据文档ID或ID列表从DashVector Collection中获取已存在的文档。文章提供了Java SDK的接口定义和详细的使用示例,包括同步和异步两种方式。用户需要准备API-KEY和Cluster Endpoint,并确保已创建Collection并插入数据。文档还说明了构建FetchDocRequest对象的方法,支持通过单个ID或ID列表进行查询,并指出若指定ID不存在,则返回的Doc为空。

🎯 **核心功能:通过Java SDK检索文档** 本文主要阐述了如何利用Java SDK,根据文档的唯一标识符(ID)或一系列ID,从DashVector Collection中高效地获取已存在的文档数据。这为开发者提供了一种便捷的方式来访问和管理存储在DashVector中的信息。

⚙️ **接口与实现:同步与异步操作** 文章详细介绍了Java SDK中用于文档获取的接口定义,特别是`DashVectorCollection`类下的`fetch`(同步)和`fetchAsync`(异步)方法。这两种模式允许开发者根据应用场景选择最合适的文档检索方式,满足实时性或批量处理的需求。

📚 **使用前提与示例:环境准备与代码实践** 要成功执行文档获取操作,用户需要满足一系列前提条件,包括已创建DashVector Cluster、获取API-KEY以及安装最新版SDK。文中提供了具体的Java代码示例,展示了如何初始化`DashVectorClient`,获取`DashVectorCollection`对象,构建`FetchDocRequest`,并发送请求以获取单个文档,同时也暗示了支持通过ID列表进行批量获取。

🔍 **请求构建与参数说明:灵活的查询方式** 文档通过`FetchDocRequestBuilder`详细说明了如何构建`FetchDocRequest`对象,并列出了可用的方法,如`ids()`(用于指定文档ID列表)和`id()`(用于指定单个文档ID)。这表明了该SDK提供了灵活的查询机制,能够满足不同粒度的文档检索需求。

本文介绍如何通过Java SDK,根据id或id列表获取Collection中已存在的Doc。


说明

如果指定id不存在,则该id对应的Doc为空。

前提条件

接口定义

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对象

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

DashVector Java SDK 文档获取 FetchDocRequest API 数据检索 Java SDK
相关文章