UpdateVikingdbIndex 接口用于修改已存在索引的描述、标量索引、CPU 配额或分片策略。
Go SDK 通过 vikingdb.New(sess) 创建的客户端实例调用 UpdateVikingdbIndex(input) 方法发起索引创建请求,input 参数类型为 vikingdb.UpdateVikingdbIndexInput ,包含索引创建所需的完整配置信息
参数 | 类型 | 是否必选 | 参数说明 |
|---|---|---|---|
ProjectName | string | 否 | 项目名称 |
CollectionName | string | 2选1 | 指定创建索引所属的 Collection 名称。
|
ResourceId | string | 数据集资源ID。请求必须指定ResourceId和CollectionName其中之一。 | |
IndexName | string | 是 | 指定创建的索引 Index 名称。
|
CpuQuota | int | 否 | 索引检索消耗的 CPU 配额,格式为正整数。
|
Description | string | 否 | 索引的自定义描述。 |
ScalarIndex | []String | 否 | 标量字段列表。
如果标量字段进入标量索引,主要用于范围过滤和枚举过滤,会占用额外资源:
如果标量字段不进入标量索引,仍支持作为正排字段选取使用和部分正排计算。 |
ShardCount | int | 否 | 分片数。索引分片是指在大规模数据量场景下,可以把索引数据切分成多个小的索引块,分发到同一个集群不同节点进行管理,每个节点负责存储和处理一部分数据,可以将查询负载分散到不同的节点上,并发的进行处理。当一个节点发生故障时,系统可以自动将其上的分片数据迁移到其他的正常节点上,保证稳定性,以实现数据的水平扩展和高性能的读写操作。
|
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
message | String | success | 操作结果信息 |
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.UpdateVikingdbIndexInput{ CollectionName: volcengine.String("Your Collection Name"), IndexName: volcengine.String("Your Index Name"), ProjectName: volcengine.String("default"), Description: volcengine.String("Your Index Description"), ShardCount: volcengine.Int32(2), } output, err := svc.UpdateVikingdbIndex(input) if err != nil { panic(err) } fmt.Printf("Update index response: %+v\n", output) }