GetVikingdbIndex 用于查询索引 Index 详情。
Go SDK 通过 vikingdb.New(sess) 创建的客户端实例调用 GetVikingdbIndex(input) 方法发起索引创建请求,input 参数类型为 vikingdb.GetVikingdbIndexInput ,包含索引创建所需的完整配置信息
参数 | 类型 | 是否必选 | 参数说明 |
|---|---|---|---|
ProjectName | string | 否 | 项目名称 |
CollectionName | string | 2选1 | 数据集名称 |
ResourceId | string | 数据集资源ID。请求必须指定ResourceId和CollectionName其中之一。 | |
IndexName | string | 是 | 指定要查询的 Index 名称。
|
Java 调用执行上面的任务,返回 Index 实例。Index 实例包含的属性如下表所示。
参数 | 一级子参数 | 类型 | 描述 |
|---|---|---|---|
CollectionName | string | 数据集名称 | |
ProjectName | string | 项目名称 | |
ResourceId | string | 资源ID | |
IndexName | string | 索引名称 | |
CpuQuota | int | 索引检索消耗的 CPU 配额。 | |
ShardPolicy | string | 索引分片类型,auto为自动分片、custom为自定义分片。 | |
ShardCount | int | 索引分片数 | |
Description | string | 索引描述 | |
VectorIndex | VectorIndexForGetVikingdbIndexOutput | 向量索引配置 | |
IndexType | IndexTypeEnum | 索引类型 | |
Distance | DistanceEnum | 距离类型,衡量向量之间距离的算法。取值如下: | |
Quant | QuantEnum | 量化方式。量化方式是索引中对向量的压缩方式,可以降低向量间相似性计算的复杂度。基于向量的高维度和大规模特点,采用向量量化可以有效减少向量的存储和计算成本。取值如下:
int8适用于hnsw、hnsw_hybrid、flat索引算法,距离方式为ip、consine。 float适用于hnsw、hnsw_hybrid、flat、diskann索引算法,距离方式为ip、l2、consine。 fix16适用于hnsw、hnsw_hybrid、flat索引算法,距离方式为ip、l2、consine。 pq适用于diskann、ivf索引算法,距离方式为ip、l2、consine。 | |
HnswM | int | hnsw 索引参数,表示邻居节点个数。
| |
HnswCef | int | hnsw 索引参数,表示构建图时搜索邻居节点的广度。
| |
HnswSef | int | hnsw 索引参数,表示线上检索的搜索广度。
| |
DiskannM | int | diskann参数,标识邻居节点个数。
| |
DiskannCef | int | diskann参数,表示构建图时搜索邻居节点的广度。
| |
PqCodeRatio | float | diskann参数,向量维度编码的大小限制。值越大,召回率越高,但会增加内存使用量,范围 (0.0, 0.25]。
| |
CacheRatio | float | diskann参数,缓存节点数与原始数据的比率,较大的值会提高索引性能并增加内存使用量。范围 [0.0,0.3)。
| |
ScalarIndex | []ScalarIndexForGetVikingdbIndexOutput> | 标量字段列表
| |
defaultValue | interface{} | ||
dim | int | ||
fieldName | string | ||
ActualCU | int | 实际CU用量 |
package main import ( "fmt" "os" "github.com/volcengine/volcengine-go-sdk/service/vikingdb" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/credentials" "github.com/volcengine/volcengine-go-sdk/volcengine/session" ) func main() { var ( accessKey = os.Getenv("VIKINGDB_AK") secretKey = os.Getenv("VIKINGDB_SK") region = "cn-beijing" ) config := volcengine.NewConfig(). WithRegion(region). WithCredentials(credentials.NewStaticCredentials(accessKey, secretKey, "")) sess, err := session.NewSession(config) if err != nil { panic(err) } svc := vikingdb.New(sess) // 获取索引信息 input := &vikingdb.GetVikingdbIndexInput{ CollectionName: volcengine.String("Your Collection Name"), IndexName: volcengine.String("Your Index Name"), ProjectName: volcengine.String("default"), } output, err := svc.GetVikingdbIndex(input) if err != nil { panic(err) } fmt.Printf("Get index response: %+v\n", output) }