更新多元索引配置
調用UpdateSearchIndex介面,通過Node.js SDK更新多元索引的資料生命週期(TTL)。
前提條件
已初始化OTSClient執行個體。具體操作,請參見初始化Tablestore Client。
資料表上已存在多元索引。
資料表的
allowUpdate參數已設定為false。具體操作,請參見更新表配置。
注意事項
多元索引的TTL和資料表的TTL是獨立的,多元索引的TTL值必須小於或等於資料表的TTL值。當需要同時調小多元索引TTL和資料表TTL時,請先調整多元索引TTL,再調整資料表TTL。
多元索引每天會自動清理已到期的資料,到期資料的清理粒度為“天”,因此您仍然可以查詢到某一時刻已到期但尚未及時清理的資料,多元索引會在下一次清理到期資料時自動清理這些到期資料。
資料表和多元索引的TTL更新後,系統會在下一次清理到期資料時自動清理資料表和多元索引中的到期存量資料。
參數
|
參數 |
說明 |
|
tableName(必選) |
資料表名稱。 |
|
indexName(必選) |
多元索引名稱。 |
|
timeToLive(必選) |
多元索引的資料生命週期,單位為秒。設定為 |
樣本
以下樣本將多元索引的資料生命週期設定為7天(604800秒)。
let params = {
tableName: '<TABLE_NAME>',
indexName: '<SEARCH_INDEX_NAME>',
timeToLive: 604800, // 7天,換算方式:7 × 24 × 60 × 60
}
client.updateSearchIndex(params, function (err, data) {
if (err) {
console.log('updateSearchIndex error:', err.toString());
} else {
console.log('updateSearchIndex success:', data);
}
});
timeToLive的值為秒數。如需設定其他時間長度,將天數乘以86400即可,例如30天對應2592000秒。
常見問題
修改資料表生命週期時報錯[table ttl] must be bigger than or equal search index ttl
相關文檔
瞭解多元索引資料生命週期的管理詳情,請參見多元索引生命週期管理。
查詢多元索引的欄位資訊、索引結構等詳細資料,請參見查詢多元索引描述資訊。
新增、更新或刪除索引列,或修改多元索引的路由欄位和預排序方式,請參見動態修改schema。