You need to enable JavaScript to run this app.
文档中心
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
检索(search)
SearchByPrimaryKeys
复制全文
下载 pdf
SearchByPrimaryKeys

概述

SearchByPrimaryKeys 用于主键 ID检索。根据主键 ID,搜索与其距离最近的 Limit 个向量。

请求参数

字段名

类型

是否必传

说明

CollectionName/CollectionAlias

string

是

数据集名称或数据集别名,二选一

IndexName

string

是

索引名称

Limit

number

是

返回数量

DenseWeight

number

否

权重

OutputFields

string[]

否

返回数据字段

Partition

string \| number

否

子索引名称,类型对齐子索引类型

Filter

Filter

否

标量过滤

PrimaryKeys

Array<string \| number>

是

主键字段值,类型对齐主键字段

Filter

type Filter =
  | MustTypeCondition
  | NumberRangeTypeCondition
  | AreaRangeTypeCondition
  | LogicTypeCondition;
  
enum SearchOperation {
  Must = "must",
  MustNot = "must_not",
  Range = "range",
  RangeOut = "range_out",
  And = "and",
  Or = "or",
}

MustTypeCondition

字段名

类型

是否必传

说明

Operation

SearchOperation.Must
SearchOperation.MustNot

是

操作符

FieldName

string

是

字段名称

Conditions

Array<number \| string \| boolean>

是

操作元素

NumberRangeTypeCondition

字段名

类型

是否必传

说明

Operation

SearchOperation.Range
SearchOperation.RangeOut

是

操作符

FieldName

string

是

字段名称

GreatThen

number

否

大于

LessThen

number

否

小于

GreatThenEqual

number

否

大于等于

LessThenEqual

number

否

小于等于

AreaRangeTypeCondition

字段名

类型

是否必传

说明

Operation

SearchOperation.Range
SearchOperation.RangeOut

是

操作符

FieldNames

[string, string]

是

横坐标、纵坐标

Center

[number, number]

是

横坐标、纵坐标

Radius

number

是

半径

LogicTypeCondition

字段名

类型

是否必传

说明

Operation

SearchOperation.And
SearchOperation.Or

是

操作符

Conditions

Filter[]

是

子过滤条件

响应参数
declare class SearchResponse<Data extends Record<string, any>> {
  readonly Data: SearchData<Data>[][];
  readonly OriginalRequest: string;
  readonly LogId: string;
  constructor(
    Data: SearchData<Data>[][],
    OriginalRequest: string,
    LogId: string
  );
}
/**
 * `score` 为检索排名
 *
 * `fields` 为这条数据的键值对
 *
 * 拓展字段中可能还会有其它内部字段,如:
 * - 主键字段,key 为定义的字段名
 */
interface SearchData<Data extends Record<string, unknown>> {
  Score: number;
  Fields?: Data;
  [key: string]: unknown;
}

参考示例
import { vikingdb } from '@volcengine/openapi'

declare const service: vikingdb.VikingdbService // 替换为你初始化好的实例

interface Data {
  Id: number,
  Name: string
}

const response = await service.search.SearchByPrimaryKeys<Data>({
  CollectionName: 'test_collection_1',
  IndexName: 'test_index_1',
  PrimaryKeys: [1, 2],
  Limit: 10,
  DenseWeight: 0.5, // optional
  OutputFields: ['Id', 'Name'], // optional
  Partition: "default", // optional
  Filter: {
    Operation: vikingdb.search.SearchOperation.And,
    Conditions: [
      { FieldName: 'Name', Operation: vikingdb.search.SearchOperation.Must, Conditions: ['Tom'] },
      { FieldName: 'Id', Operation: vikingdb.search.SearchOperation.Range, GreatThen: 10 }
    ]
  }, // optional
})

console.log(response.Data) //  检索出来的数据 SearchData
最近更新时间:2026.09.08 15:30:57
这个页面对您有帮助吗?
有用
有用
无用
无用