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

Tablestore:検索インデックス設定の更新

最終更新日:Aug 06, 2026

Tablestore SDK for Python を使用して、検索インデックスの Time to Live (TTL) を更新します。

前提条件

  • Tablestore SDK for Python をインストールし、クライアントを初期化しておきます。

  • このテーブルでは UpdateRow 操作は許可されていません。 つまり、allow_updateFalse に設定されています。 詳細については、「テーブル設定の更新」をご参照ください。

説明

update_search_index を呼び出して、検索インデックスの TTL を更新します。

def update_search_index(
    self,
    table_name,
    index_name,
    index_meta,
)
重要

TTL を設定する際は、次の点にご注意ください:

  • Python 版 Tablestore SDK の update_search_index メソッドで更新できるのは TTL のみです。インデックスフィールド、インデックス設定、または事前ソート設定を変更することはできません。

  • テーブルと検索インデックスの TTL は独立していますが、検索インデックスの TTL がテーブルの TTL を超えることはできません。検索インデックスの TTL を現在のテーブルの TTL より長くするには、まずテーブルの TTL を長くする必要があります。テーブルの TTL を現在の検索インデックスの TTL より短くするには、まず検索インデックスの TTL を短くする必要があります。

  • Tablestore は、期限切れの検索インデックスデータを 1 日 1 回削除します。期限切れのデータは、次の削除サイクルまでクエリ可能な状態が続く場合があります。TTL を短縮すると、Tablestore は後続の削除サイクルで過去の期限切れデータを削除します。

次の例では、example_tableexample_index の TTL を 7 日に更新し、更新後の値をクエリします。

index_meta = SearchIndexMeta(
    fields=None,
    time_to_live=7 * 24 * 60 * 60,
)
client.update_search_index(
    "example_table",
    "example_index",
    index_meta,
)

updated_meta, _ = client.describe_search_index(
    "example_table",
    "example_index",
)
print(updated_meta.time_to_live)

パラメーター

update_search_index メソッドには、次のパラメーターが含まれています。

名前

説明

table_name (必須)

str

テーブル名。

index_name (必須)

文字列

検索インデックス名。

index_meta (必須)

SearchIndexMeta

更新する検索インデックス設定。

検索インデックス設定

index_meta は、TTL の更新のための以下のパラメーターを含む SearchIndexMeta オブジェクトです。

名前

説明

fields (必須)

List[FieldSchema]

このパラメーターを None に設定します。更新リクエストはインデックスフィールドを変更しません。

time_to_live (任意)

int

秒単位でのインデックスデータの TTL (有効期間) です。デフォルト値は -1 です。値には -1 または正の int32 値を設定します。値 -1 は、データが期限切れにならないことを示します。int32 の最大値は、約 68 年に相当します。

TTL の無効化

検索インデックス内のデータが期限切れにならないように、time_to_live-1 に設定します。

index_meta = SearchIndexMeta(fields=None, time_to_live=-1)
client.update_search_index(
    "example_table",
    "example_index",
    index_meta,
)