跳到主要内容

RefreshLoad()

此操作可刷新 QueryNode 内存中已加载的 Collection。在大量数据写入或 Compaction 后,若需立即更新已加载的数据视图,请使用此操作。

c++
Status RefreshLoad(const RefreshLoadRequest& request)

请求语法

c++
auto request = RefreshLoadRequest()
.WithCollectionName(collection_name)
.WithSync(sync)
.WithTimeoutMs(timeout_ms);

RefreshLoadRequest

请求方法:

  • WithCollectionName(const std::string& collection_name)

    设置待刷新的 Collection 名称。

  • WithDatabaseName(const std::string& db_name)

    设置目标 Database。若未指定,则使用默认 Database。

  • WithSync(bool sync)

    控制调用是否阻塞直至刷新完成。默认值为 true

  • WithTimeoutMs(int64_t timeout_ms)

    设置同步刷新的超时时间(毫秒)。默认值为 60000

返回值:

Status

异常:

  • StatusCode

    请检查 status.Code()status.Message(),以排查无效的 Collection 名称、加载状态异常或超时失败等问题。

示例

c++
#include <milvus/MilvusClientV2.h>
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;
}

status = client->RefreshLoad(
milvus::RefreshLoadRequest()
.WithCollectionName("my_collection")
.WithSync(true)
.WithTimeoutMs(60000));
if (!status.IsOk()) {
std::cout << status.Message() << std::endl;
}
最低 SDK 版本v2.6.3
Ctrl I