调用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。