検索インデックスを作成した後、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 を指定する を参照してください。
検索インデックスのフィールドやスキーマなど、検索インデックスに関する詳細情報をクエリできます。詳細については、検索インデックスの説明をクエリする を参照してください。
検索インデックスのスキーマを動的に変更して、検索インデックスにインデックス列を追加、更新、または削除したり、検索インデックスのルーティングキーと事前ソート方法を変更したりできます。詳細については、検索インデックスのスキーマを動的に変更する を参照してください。