You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
检索能力
SearchById
复制全文
下载 pdf
SearchById

概述

SearchById 用于主键 id 检索。根据主键 id,搜索与其距离最近的 limit 个向量。

说明

  • Collection 数据写入/删除后,Index 数据更新时间预计20s,不能立即在 Index 检索到。
  • 当请求参数 filter 配置时,表示混合检索;当请求参数 filter 没有配置时,表示纯向量检索。

前提条件
  • 通过 CreateCollection 接口创建数据集时,定义字段 fields 已添加 vector 字段。
  • 通过 UpsertData 接口写入数据时,已写入 vector 类型的字段名称和字段值。
  • 通过CreateIndex 接口创建索引时,已创建 vectorIndex 向量索引。

请求参数

参数

子参数

类型

是否必选

默认值

参数说明

id

int64

主键 id。

searchOptions

filter

map

过滤条件,详见标量过滤

  • 默认为空,不做过滤。
  • 过滤条件包含 must、must_not、range、range_out四类查询算子,包含 and 和 or 两种对查询算子的组合。

limit

int

10

检索结果数量,最大5000个。

outputFields

list<string>

过滤字段,指定要返回的标量或向量字段列表。

  • outputFields 不传时,返回所有的标量字段,不返回向量字段。
  • outputFields 为空列表时,不返回 fields 字段。
  • outputFields 格式错误或者过滤字段不是 collection 里的字段时, 接口返回错误。

如果索引的距离方式为cosine,向量字段返回的向量是归一化后的向量。

partition

string/int

"default"

子索引名称,类型与 partitionBy 的 FieldType 一致,字段值对应 partitionBy 的 FieldValue。

  • FieldType 为 int64,list<int64> 时,partition 输入类型为 int64。
  • FieldType 为 string,list<string> 时,partition 输入类型为 string,格式要求 "^[a-zA-Z0-9._]+$"。

denseWeight

float

0.5

对于标量过滤检索,dense_weight 用于控制稠密向量在检索中的权重。范围为[0.2,1]。仅在检索的索引为混合索引时有效。

sparseVectors

map

稀疏向量,格式是字典,k 为 string 类型,表示关键词的字面量,v 为 float 类型,表示该关键词的权重数值。

scale_k

float64

1

检索sef是索引参数sef的scale_k倍。默认1,取值范围[0.1, 100],值越大检索结果越精确,但相应地会降低性能。

示例

请求参数

// 获取指定索引,程序初始化时调用即可,无需重复调用
indexClient := vikingdb.NewIndexClient("test_collection", "test_index", "api-vikingdb.volces.com", "cn-beijing", "your ak", "your sk", "http")
searchOption := vikingdb.NewSearchOptions().SetFilter(map[string]interface{}{"op": "range", "field": "price", "lt": 3.5}).SetLimit(5).SetOutputFields([]string{"doc_id", "like", "text_vector", "price"}).SetDenseWeight(0.5).SetSparseVectors(map[string]interface{}{"hello1": 0.01})
res, err := indexClient.SearchById("111", searchOption)
if err != nil {
    fmt.Println(err)
}
for _, item := range res {
    fmt.Println(item)
}

返回值

Go 调用执行上面的任务,返回 Data 结构体地址构成的列表([]*Data)。Data 结构体包含的属性如下表所示。

属性

说明

Id

主键 id。

Fields

请求返回中的 fields 字段,是具体的数据,map 类型。

Score

表示找到的向量和输入的向量的匹配程度。

最近更新时间:2025.09.30 16:06:33
这个页面对您有帮助吗?
有用
有用
无用
无用