検索インデックスを作成した後、UpdateSearchIndex API を呼び出して検索インデックスの設定を更新できます。本トピックでは、Tablestore SDK for PHP を使用して検索インデックスの Time to Live (TTL) を更新する方法について説明します。
前提条件
-
OTSClient インスタンスが初期化されていること。詳細については、「OTSClient インスタンスの初期化」をご参照ください。
-
データテーブルに検索インデックスが作成されていること。
-
データテーブルの
allow_updateパラメーターがfalseに設定されていること。詳細については、「テーブル設定の更新」をご参照ください。
使用上の注意
検索インデックスの TTL は、検索インデックスが作成されたデータテーブルの TTL とは独立しており、データテーブルの TTL 以下である必要があります。検索インデックスと、検索インデックスが作成されたデータテーブルの TTL を短縮する場合、データテーブルの TTL を変更する前に、検索インデックスの TTL を変更する必要があります。
Tablestore は、毎日、検索インデックスから期限切れのデータを自動的に削除します。期限切れのデータが削除されるまでは、検索インデックス内の期限切れのデータをクエリできます。Tablestore は、次のサイクルで期限切れのデータを自動的に削除します。
データテーブルと検索インデックスの TTL を変更した後、Tablestore は、次のサイクルでデータテーブルと検索インデックスから履歴の期限切れデータを自動的に削除します。
パラメーター
|
パラメーター |
説明 |
|
table_name (必須) |
データテーブルの名前。 |
|
index_name (必須) |
検索インデックスの名前。 |
|
time_to_live (必須) |
検索インデックスの TTL。 検索インデックスの TTL は、-1 または秒単位の正の int32 値である必要があります。値が -1 の場合は、検索インデックス内のデータが期限切れにならないことを意味します。int32 の最大値は、約 68 年に相当します。 |
例
次のサンプルコードは、検索インデックスの TTL を 7 日に変更する方法の例です。
$response = $otsClient->updateSearchIndex(array(
'table_name' => 'php_sdk_test',
'index_name' => 'test_create_search_index',
'time_to_live' => 60 * 60 * 24 * 7 // 単位:秒。
));
print json_encode($response, JSON_PRETTY_PRINT);
よくある質問
関連ドキュメント
-
検索インデックスの TTL の詳細については、「検索インデックスの TTL の指定」をご参照ください。
-
検索インデックスのフィールドやスキーマなど、検索インデックスの詳細情報をクエリできます。詳細については、「検索インデックス詳細のクエリ」をご参照ください。
-
検索インデックスのスキーマを動的に変更して、インデックス列の追加、更新、削除や、ルーティングキーやプリソートメソッドの変更ができます。詳細については、「検索インデックスのスキーマの動的な変更」をご参照ください。