Node.js 版 Tablestore SDK を使用して UpdateSearchIndex API を呼び出し、検索インデックスの Time to Live (TTL) を更新します。
前提条件
-
OTSClient インスタンスが初期化されていること。 詳細については、「OTSClient インスタンスの初期化」をご参照ください。
-
データテーブルに検索インデックスが存在すること。
-
データテーブルでは、
allowUpdateパラメーターがfalseに設定されています。詳細については、「テーブルの設定を更新する」をご参照ください。
注意事項
検索インデックスの TTL を設定する際は、次の点にご注意ください。
-
データテーブルの TTL と検索インデックスの TTL は互いに独立しています。 検索インデックスの TTL は、データテーブルの TTL を超えることはできません。 データテーブルと検索インデックスの両方の TTL を同時に短縮する場合は、データテーブルの TTL を更新する前に、検索インデックスの TTL を更新してください。
-
検索インデックスは、期限切れのデータを毎日クリーンアップします。 データが期限切れになってから次のクリーンアップタスクが実行されるまでの間、データがクエリで返されることがあります。
-
TTL を短縮すると、後続のクリーンアップタスクで期限切れの履歴データが削除されます。
パラメーター
|
パラメーター |
説明 |
|
tableName (必須) |
データテーブルの名前。 |
|
indexName (必須) |
検索インデックスの名前。 |
|
timeToLive (必須) |
検索インデックスの TTL (秒単位) です。データが無期限の場合は |
例
次の例では、検索インデックスの TTL を 7 日間 (604,800 秒) に設定します。
let params = {
tableName: '<TABLE_NAME>',
indexName: '<SEARCH_INDEX_NAME>',
timeToLive: 604800, // 7日間 (秒) (7 x 24 x 60 x 60)
}
client.updateSearchIndex(params, function (err, data) {
if (err) {
console.log('updateSearchIndex エラー:', err.toString());
} else {
console.log('updateSearchIndex 成功:', data);
}
});
異なる期間の timeToLive 値を計算するには、日数を 86400 (1日あたりの秒数) で乗算します。たとえば、30 日は 2592000 です。
よくある質問
関連ドキュメント
-
検索インデックスの TTL の詳細については、「検索インデックスの TTL の指定」をご参照ください。
-
検索インデックスのフィールドとスキーマをクエリするには、「検索インデックスの説明のクエリ」をご参照ください。
-
インデックス列の追加、更新、削除、またはルーティングキーと事前ソート方法の変更については、「検索インデックスのスキーマの動的な変更」をご参照ください。