Tablestore SDK for Java は、検索インデックスの Time-to-Live (TTL) を更新します。
前提条件
開始する前に、次の条件を満たしていることを確認してください。
-
Tablestore SDK for Java 5.12.0 以降がインストールされており、クライアントが初期化されていること
-
テーブルの
UpdateRow更新が無効になっている、既存のテーブルと検索インデックス。テーブルの更新設定については、「テーブル設定の更新」をご参照ください。
説明
検索インデックスの TTL を更新するには、updateSearchIndex を呼び出します。
public UpdateSearchIndexResponse updateSearchIndex(UpdateSearchIndexRequest request)
インデックスフィールドの追加や削除、フィールドタイプの変更、ルーティングフィールドやプリソート設定の変更については、「検索インデックススキーマの動的変更」 をご参照ください。
TTL を設定する際は、次の点にご注意ください。
-
テーブルと検索インデックスの TTL は独立しています。インデックスの TTL はテーブルの TTL を超えることはできません。両方の TTL を短縮する場合は、テーブルより先に検索インデックスを更新してください。
-
Tablestore は、期限切れのインデックスデータを日次のクリーンアップタスクで削除します。次のクリーンアップタスクが実行されるまで、クエリによって期限切れのデータが返される可能性があります。
-
TTL を短縮した後、以降のクリーンアップタスクでは、新しい設定に基づいて期限切れになった既存データが削除されます。
次の例では、example_table の example_index の TTL を 7 日間に更新します。
String tableName = "example_table";
String indexName = "example_index";
UpdateSearchIndexRequest request =
new UpdateSearchIndexRequest(tableName, indexName);
request.setTimeToLiveInDays(7);
client.updateSearchIndex(request);
リクエストが成功したら、検索インデックス情報を照会し、timeToLive が 604800 秒であることを確認してください。
パラメーター
UpdateSearchIndexRequest は、次のパラメーターを使用してインデックスの TTL を更新します:
|
名前 |
タイプ |
説明 |
|
tableName (必須) |
|
テーブル名。 |
|
indexName (必須) |
|
検索インデックス名。 |
|
timeToLive (必須) |
|
インデックスデータの TTL を秒単位で表します。有効な値は |