全部产品
Search
文档中心

云原生数据仓库AnalyticDB:QueryCollectionData - 召回向量数据

更新时间:Dec 22, 2025

召回向量数据。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
gpdb:QueryCollectionDatacreate
*Collection
acs:gpdb:{#regionId}:{#accountId}:collection/{#DBInstanceId}

请求参数

名称类型必填描述示例值
DBInstanceIdstring

实例 ID。

说明 您可以调用 DescribeDBInstances 接口查看目标地域下所有的 AnalyticDB PostgreSQL 实例的详情,包括实例 ID。
gp-xxxxxxxxx
Collectionstring

集合名。

说明 您可以通过 ListCollections 接口查看列表。
document
Namespacestring

命名空间。

说明 您可以通过 ListNamespaces 查看列表。
mynamespace
NamespacePasswordstring

命名空间对应的密码。

testpassword
Contentstring

用于全文检索的内容。即此值为空时,仅使用向量检索;不为空时,使用向量和全文双路检索。

说明 和 Vector 参数不能同时为空。
hello_world
Filterstring

要查询的数据的过滤条件,格式为 SQL 的 WHERE 格式。是一个返回布尔值(真或假)的表达式,条件可以是简单的比较运算符,如等于(=)、不等于(<>或!=)、大于(>), 小于(<)、大于等于(>=)、小于等于(<=),也可以是逻辑运算符(AND, OR, NOT)组合的更复杂的表达式,以及使用 IN、BETWEEN、LIKE 等关键字的条件。

说明
  • 详细语法可参考:https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-where/
  • pipeline_id='1yhpmo0rbn' AND (spu='10025667796135' AND dept_id='226')
    TopKlong

    设置返回 top 结果数量。

    10
    Vectorarray

    向量数据,长度和 CreateCollection 接口的维度一致。

    说明
  • 当 SparseVector 为空时,只返回稠密向量检索结果。
  • 当 Vector 和 SparseVector 均为空时,只返回全文检索结果。
  • double

    向量数据。

    1.234
    SparseVectorobject

    稀疏向量数据列表。

    Indicesarray

    下标数组。

    说明 列表大小不能超过 4000。
    long

    下标值。

    1
    Valuesarray

    稀疏向量数组。

    double

    稀疏向量数据。

    1.2345
    RegionIdstring

    实例所在地域 ID。

    cn-hangzhou
    Metricsstring

    检索时的相似度算法。取值说明:

    • l2:欧氏距离。
    • ip:点积(内积)距离。
    • cosine:余弦相似度。
    说明 此值为空时,则使用构建索引时指定的算法。
    cosine
    IncludeValuesboolean

    是否返回向量数据。取值说明:

    • true:返回向量数据。
    • false:不返回向量数据,用于全文检索场景。
    true
    HybridSearchstring

    双路召回算法,默认为空(即直接将向量和全文的分数比较并排序)。

    可选值:

    • RRF:倒数排序融合(Reciprocal rank fusion),有一个参数 k 控制融合效果,详见 HybridSearchArgs 配置;
    • Weight:比重排序,采用一个参数 alpha 控制向量和全文的分数比重,然后再排序,参数详见 HybridSearchArgs 配置;
    • Cascaded:先全文检索再在其基础上进行向量检索;
    RRF
    HybridSearchArgsobject

    双路召回的算法参数。目前支持 RRF 和 Weight 两种:

    • RRF:指定计算分数的算法的1/(k+rank_i)中的 k 常数,范围大于 1 的正整数,格式为:
    { 
       "RRF": {
        "k": 60
       }
    }
    
    • Weight: 计算公式alpha * vector_score + (1-alpha) * text_score,参数 alpha 表示向量和全文的检索分数比重,范围为 0~1,其中 0 表示只全文,1 表示只向量:
    { 
       "Weight": {
        "alpha": 0.5
       }
    }
    
    object
    any
    OrderBystring

    默认为空,表示排序的依据字段。不支持双路召回场景。

    字段必须属于 metadata 或表里的默认字段比如 id,格式支持:

    • 单个字段,如 chunk_id;
    • 多个字段,用逗号连接,如 block_id, chunk_id;
    • 支持反序,如: block_id DESC, chunk_id DESC;
    chunk_id
    Offsetinteger

    默认为空,表示分页查询时的检索起点。不支持双路召回场景。

    范围必须>=0。当此值不为空时,会返回 Total 表示总的命中数。此参数配合 TopK 使用,比如要分页 20 检索 chunk_id 0~44 的 chunks,则要请求 3 次:

    • Offset=0,TopK=20 返回 chunk_id 0~19
    • Offset=20,TopK=20 返回 chunk_id 20~39
    • Offset=30,TopK=20 返回 chunk_id 40~44
    0
    IncludeMetadataFieldsstring

    默认为空,表示要返回的 metadata 字段,多个字段用逗号分隔。

    title,content
    WorkspaceIdstring

    多数据库实例组成的 Workspace 的 Id。此参数和 DBInstanceId 参数不能同时为空,当和 DBInstanceId 同时指定时以此参数为准。

    gp-ws-*****
    RelationalTableFilterobject

    使用另外一张关系表实现向量数据过滤(类似 Join 的功能)。

    说明 关系表的数据可以通过设置 IncludeMetadataFields 参数返回。比如 rds_table_name.id 表示返回关系表的 id 字段。
    CollectionMetadataFieldstring

    向量集的 Metadata 字段,用来和向量表的字段关联。

    doc_id
    TableFieldstring

    关系表的字段,用来和向量集的 Metadata 的字段做关联。

    id
    TableNamestring

    关系表的名称。

    my_rds_table
    Conditionstring

    关系表的过滤条件。

    tags @> ARRAY['art']

    返回参数

    名称类型描述示例值
    object

    召回结果。

    Matchesarray<object>

    数据列表。

    matchobject

    单条记录。

    Idstring

    向量数据的唯一 ID。

    doca-1234
    Metadataobject

    元数据。

    string

    元数据内容。

    {"title":"test title", "content": "test content"}
    Valuesarray

    向量数据列表。

    valuedouble

    向量数据。

    1.234
    Scoredouble

    此条数据的相似度分数,其分数算法和创建索引时指定的算法(l2/ip/cosine)相关。

    0.12345
    SparseValuesobject

    稀疏向量返回体

    Indicesarray

    稀疏向量索引数组

    Indiceinteger

    稀疏向量索引值

    Valuesarray

    稀疏向量值数组

    Valuefloat

    稀疏向量值

    MetadataV2object

    元数据。值与 Metadata 一致,元素类型区别于 Metadata,用于在 SDK 端透出任意类型。

    any

    该字段可容纳多种数据类型,由 SDK 按以下规则进行反序列化。

    说明 反序列化规则
    ADBPG 数据类型Java SDK 反序列化类型Python SDK 反序列化类型
    整数(integer, bigint)Longint
    浮点数(real, double precision)Doublefloat
    布尔值(boolean)Booleanbool
    字符串(text, character varying)Stringstr
    数组(如 int[], text[])ArrayList<T>(T 类型按本表规则映射)list
    jsonStringString
    {'array_field': [15.5, 25.5, 35.5], 'float_field': 128.45, 'long_field': 123456789017, 'bool_field': False, 'json_field': '{"key1":"value1","num":999.0}', 'char_array_field': '[c, h, a, r, s, 5]', 'int_field': 128, 'source': 0, 'double_field': 12350.6789, 'string_field': 'test_string_5'}
    RequestIdstring

    请求 ID。

    ABB39CC3-4488-4857-905D-2E4A051D0521
    Statusstring

    状态,取值说明:

    • success:成功。
    • fail:失败。
    success
    Messagestring

    请求失败时的详细信息。

    0.1234
    Totalinteger

    当请求 Offset 不为 0 时才返回,返回值为该检索条件的命中总数。

    100

    示例

    正常返回示例

    JSON格式

    {
      "Matches": {
        "match": [
          {
            "Id": "doca-1234",
            "Metadata": {
              "key": {
                "title": "test title",
                "content": "test content"
              }
            },
            "Values": {
              "value": [
                1.234
              ]
            },
            "Score": 0.12345,
            "SparseValues": {
              "Indices": {
                "Indice": [
                  0
                ]
              },
              "Values": {
                "Value": [
                  0
                ]
              }
            },
            "MetadataV2": {
              "key": "{'array_field': [15.5, 25.5, 35.5], 'float_field': 128.45, 'long_field': 123456789017, 'bool_field': False, 'json_field': '{\"key1\":\"value1\",\"num\":999.0}', 'char_array_field': '[c, h, a, r, s, 5]', 'int_field': 128, 'source': 0, 'double_field': 12350.6789, 'string_field': 'test_string_5'}"
            }
          }
        ]
      },
      "RequestId": "ABB39CC3-4488-4857-905D-2E4A051D0521",
      "Status": "success",
      "Message": 0.1234,
      "Total": 100
    }

    错误码

    访问错误中心查看更多错误码。

    变更历史

    变更时间变更内容概要操作
    2024-08-28OpenAPI 入参发生变更查看变更详情
    2024-08-04OpenAPI 入参发生变更查看变更详情
    2024-04-29OpenAPI 入参发生变更、OpenAPI 返回结构发生变更查看变更详情
    2024-04-22OpenAPI 入参发生变更查看变更详情
    2023-11-07API 内部配置变更,不影响调用查看变更详情
    2023-08-17OpenAPI 入参发生变更查看变更详情
    2023-08-08OpenAPI 返回结构发生变更查看变更详情
    2023-08-01OpenAPI 返回结构发生变更查看变更详情
    2023-08-01API 内部配置变更,不影响调用查看变更详情