検索インデックスを作成した後、UpdateSearchIndex オペレーションを呼び出して検索インデックスの構成を更新できます。このトピックでは、Tablestore SDK for .NET を使用して検索インデックスの Time to Live (TTL) を更新する方法について説明します。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化する を参照してください。
データテーブルに対して検索インデックスが作成されていること。
データテーブルの
AllowUpdateパラメーターがfalseに設定されていること。詳細については、テーブルの構成を更新する を参照してください。
使用上の注意
検索インデックスの TTL は、検索インデックスが作成されたデータテーブルの TTL とは独立しており、データテーブルの TTL 以下である必要があります。検索インデックスと、検索インデックスが作成されたデータテーブルの TTL を短縮する場合は、データテーブルの TTL を変更する前に、検索インデックスの TTL を変更する必要があります。
Tablestore は、毎日、検索インデックスから期限切れのデータを自動的に削除します。期限切れのデータが削除されるまでは、検索インデックス内の期限切れのデータをクエリできます。Tablestore は、次のサイクルで期限切れのデータを自動的に削除します。
データテーブルと検索インデックスの TTL を変更した後、Tablestore は次のサイクルで、データテーブルと検索インデックスから履歴の期限切れデータを自動的に削除します。
パラメーター
パラメーター | 説明 |
TableName (必須) | データテーブルの名前。 |
IndexName (必須) | 検索インデックスの名前。 |
TimeToLive (必須) | 検索インデックスの TTL。 検索インデックスの TTL は、-1 または秒単位の正の int32 値である必要があります。値 -1 は、検索インデックス内のデータが期限切れにならないことを指定し、int32 の最大値は約 68 年に相当します。 |
例
次のサンプルコードは、検索インデックスの TTL を 7 日間に変更する方法の例を示しています。
public static void updatesearchindexttl(OTSClient otsClient)
{
var TableName = "<TABLE_NAME>";
var IndexName = "<SEARCH_INDEX_NAME>";
try
{
UpdateSearchIndexRequest request = new UpdateSearchIndexRequest(TableName, IndexName);
request.SetTimeToLive(3600 * 24 * 7); // 検索インデックスのTTLを7日に設定
otsClient.UpdateSearchIndex(request);
}
catch (Exception ex)
{
// 操作が失敗した場合、例外が返されます。例外を処理します。
Console.WriteLine("Update search index ttl failed, exception:{0}", ex.Message);
}
}FAQ
参照
検索インデックスの TTL については、検索インデックスの TTL を指定する を参照してください。
検索インデックスのフィールドやスキーマなど、検索インデックスに関する詳細情報をクエリできます。詳細については、検索インデックスの説明をクエリする を参照してください。
検索インデックスのスキーマを動的に変更して、検索インデックスにインデックス列を追加、更新、または削除したり、検索インデックスのルーティングキーと事前ソート方法を変更したりできます。詳細については、検索インデックスのスキーマを動的に変更する を参照してください。