get - 检索
get() 用于在不进行向量相似性搜索的情况下,从 collection 中搜索 documents。
它支持按 IDs、 metadata、和 document 过滤。
信息
仅支持在使用 SeekdbClient 连接时,才能使用该接口。关于 SeekdbClient 的详细介绍,参见 SeekdbClient。
前提条件
-
您已经安装了 seekdb-js,有关安装 seekdb-js 的详细信息,参见 快速开始。
-
您已经安装了 seekdb 服务器模式,有关安装 seekdb 服务器模式的详细信息,参见 通过 yum install 部署 seekdb。
-
您已经连接到数据库。有关连接的详细操作参见 SeekdbClient。
-
您已经创建了 collection,并插入相应的数据。有关创建 collection 和插入数据的详细操作参见 createCollection - 创建 Collection 和 add - 插入数据。
请求参数
get()
| 参数 | 取值类型 | 是否必选 | 描述 | 取值示例 |
|---|---|---|---|---|
ids | string | string[] | 必选 | 要检索的单个 ID 或 ID 列表 | ['1', '2'] |
where | Where | 可选 | Metadata 筛选条件。 | { category: 'science' } |
whereDocument | WhereDocument | 可选 | Document 筛选条件。 | {"$contains": "machine"} |
limit | number | 可选 | 要返回的最大结果数。 | {"category": {"$eq": "AI"}} |
offset | number | 可选 | 分页时要跳过的结果数。 | {"$contains": "machine"} |
include | readonly ("documents" | "metadatas" | "embeddings")[] | 可选 | 要包含的字段列表:["documents", "metadatas", "embeddings"]。 | ["documents", "metadatas", "embeddings"] |
信息
如果没有提供参数,则返回所有数据。
请求示例
import { SeekdbClient } from "seekdb";
const client = new SeekdbClient({
host: "127.0.0.1",
port: 2881,
user: "root",
password: "",
database: "test",
});
const collection = await client.getCollection({name: 'my_collection'});
const result = await collection.get({
ids: ['1', '2']
});
返回参数
- 如果提供单个 ID:返回结果包含该 ID 的 get 对象。
- 如果提供多个 IDs:列出 QueryResult 对象,一个 ID 对应一个。
- 如果提供了过滤器:包含所有匹配结果的 QueryResult 对象。