UpdateSearchIndex 操作を呼び出して、Tablestore SDK for Node.js を使用して検索インデックスの存続時間 (TTL) を更新します。
前提条件
OTSClient インスタンスが初期化済みです。詳細については、「OTSClient インスタンスの初期化」をご参照ください。
データテーブルに対して検索インデックスが存在します。
データテーブルの
allowUpdateパラメーターがfalseに設定されています。詳細については、「テーブルの構成を更新する」をご参照ください。
注意事項
-
多次元インデックスの TTL は、その多次元インデックスが作成されたデータテーブルの TTL とは独立しており、かつデータテーブルの TTL よりも長く設定することはできません。多次元インデックスおよび対応するデータテーブルの TTL を短くする場合は、まず多次元インデックスの TTL を変更し、その後でデータテーブルの TTL を変更してください。
-
Tablestore は期限切れのデータを毎日バックグラウンドで多次元インデックスから自動的に削除します。期限切れデータが実際に削除されるまでは、引き続きクエリ可能です。Tablestore は次のサイクルで自動的に期限切れデータを削除します。
-
データテーブルおよび多次元インデックスの TTL を変更した後、Tablestore は次のサイクルで過去の期限切れデータをデータテーブルおよび多次元インデックスから自動的に削除します。
パラメーター
|
パラメーター |
説明 |
|
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 error:', err.toString());
} else {
console.log('updateSearchIndex success:', data);
}
});
別の期間に対する timeToLive 値を計算するには、日数に 86400(1 日あたりの秒数)を掛けます。たとえば、30 日の場合は 2592000 です。
よくある質問
参考資料
多次元インデックスの TTL についての詳細は、「多次元インデックスの TTL の指定」をご参照ください。
検索インデックスのフィールドとスキーマを照会するには、「検索インデックスの説明を照会する」をご参照ください。
インデックスキー列を追加、更新、または削除するか、ルーティングキーと事前ソート方法を変更するには、「検索インデックスのスキーマを動的に変更する」をご参照ください。