建立多元索引後,您可以使用UpdateSearchIndex介面更新多元索引配置。本文介紹如何通過.NET SDK更新多元索引的資料生命週期。
前提條件
已初始化OTSClient。具體操作,請參見初始化OTSClient。
資料表上存在多元索引。
確保資料表為禁止更新狀態(即
AllowUpdate
為false
)。具體操作,請參見更新表配置。
注意事項
多元索引的TTL和資料表的TTL是獨立的,多元索引的TTL值必須小於或等於資料表的TTL值。當需要同時調小多元索引TTL和資料表TTL時,請先調整多元索引TTL,再調整資料表TTL。
多元索引每天會自動清理已到期的資料,到期資料的清理粒度為“天”,因此您仍然可以查詢到某一時刻已到期但尚未及時清理的資料,多元索引會在下一次清理到期資料時自動清理這些到期資料。
資料表和多元索引的TTL更新後,系統會在下一次清理到期資料時自動清理資料表和多元索引中的到期存量資料。
參數
參數 | 說明 |
TableName(必選) | 資料表名稱。 |
IndexName(必選) | 多元索引名稱。 |
TimeToLive(必選) | 多元索引生命週期。 多元索引的TTL取值範圍為-1或者int32的正整數(單位為秒),其中-1表示永久儲存,int32最大值換算為年大約為68年。 |
樣本
以下樣本用於更新多元索引的資料生命週期為7天。
public static void updatesearchindexttl(OTSClient otsClient)
{
var TableName = "<TABLE_NAME>";
var IndexName = "<SEARCH_INDEX_NAME>";
try
{
UpdateSearchIndexRequest request = new UpdateSearchIndexRequest(TableName, IndexName);
request.SetTimeToLive(3600 * 24 * 7);
otsClient.UpdateSearchIndex(request);
}
catch (Exception ex)
{
//如果拋出異常,則說明執行失敗,處理異常。
Console.WriteLine("Update search index ttl failed, exception:{0}", ex.Message);
}
}
常見問題
修改資料表生命週期時報錯[table ttl] must be bigger than or equal search index ttl
相關文檔
如果您想瞭解更多關於多元索引生命週期的資訊,請參見多元索引生命週期管理。
如果要查詢某個多元索引的詳細資料,例如多元索引的欄位資訊、索引結構等,您可以參考操作查詢多元索引描述資訊。
如需在多元索引中新增、更新或者刪除索引列,以及修改多元索引的路由鍵和預排序方式,您可以使用動態修改schema功能實現。具體操作,請參見動態修改schema。