AlterIndexProperties()
此操作会更改索引的属性。
c++
Status AlterIndexProperties(const AlterIndexPropertiesRequest& request)
请求语法
c++
auto request = AlterIndexPropertiesRequest()
.WithDatabaseName(db_name)
.WithCollectionName(collection_name)
.WithIndexName(index_name)
.WithProperties(properties)
.AddProperty(key, property);
请求方法:
-
WithDatabaseName(const std::string& db_name)设置目标 Database 的名称。如果该值为空,则使用默认 Database。
-
WithCollectionName(const std::string& collection_name)设置包含该索引的 Collection 的名称。
-
WithIndexName(const std::string& index_name)设置索引的名称。目前,此 API 仅支持索引名称。
-
WithProperties(std::unordered_map<std::string, std::string>&& properties)设置要在索引上更改的属性,并将给定的键值对 unordered_map 移动至请求中。
-
AddProperty(const std::string& key, const std::string& property)向索引添加单个属性,以键值对形式指定。
返回:
Status
返回一个 Status,指示索引属性是否已成功更改。
异常:
-
std::exception
当请求构建、传输或响应处理失败时抛出。请检查异常消息或返回的 Status,以获取失败详情。
示例
在已连接的 MilvusClientV2 上调用 AlterIndexProperties(),以更改索引属性,例如启用 mmap。
c++
auto client = milvus::MilvusClientV2::Create();
milvus::ConnectParam connect_param{"YOUR_CLUSTER_ENDPOINT", "YOUR_CLUSTER_TOKEN"};
auto status = client->Connect(connect_param);
if (!status.IsOk()) {
std::cout << status.Message() << std::endl;
}
std::unordered_map<std::string, std::string> properties{{"mmap.enabled", "true"}};
auto request = milvus::AlterIndexPropertiesRequest()
.WithDatabaseName(db_name)
.WithCollectionName(collection_name)
.WithIndexName(index_name)
.WithProperties(std::move(properties));
status = client->AlterIndexProperties(request);
if (!status.IsOk()) {
std::cout << status.Message() << std::endl;
}