すべてのプロダクト
Search
ドキュメントセンター

Tablestore:多次元インデックスの構成を更新する

最終更新日:Apr 30, 2026

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(秒単位)です。-1 を設定すると、データは永続的に保存されます。固定の有効期間を設定する場合は、正の int32 値を指定してください。int32 の最大値は約 68 年です。

コード例

次の例では、検索インデックスの 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 を変更する際に「[table ttl] must be bigger than or equal search index ttl」というエラーメッセージが返された場合はどうすればよいですか?](t2633375.xdita#)

参考資料