All Products
Search
Document Center

Tablestore:Konfigurasikan TTL indeks pencarian

Last Updated:Aug 06, 2026

Gunakan Tablestore SDK untuk Python untuk mengonfigurasi time to live (TTL) indeks pencarian. Tablestore secara otomatis menghapus data indeks setelah periode retensinya berakhir.

Prasyarat

Catatan penggunaan

  • Sebelum mengelola TTL indeks pencarian, nonaktifkan operasi UpdateRow pada tabel untuk mencegah inkonsistensi data antara tabel dan indeks pencarian. TTL tabel berlaku per kolom atribut, sedangkan TTL indeks pencarian berlaku untuk seluruh baris. Dengan operasi UpdateRow, pembersihan TTL mungkin hanya menghapus sebagian kolom tabel, sementara seluruh baris tetap tersimpan di indeks pencarian. Untuk memperbarui data, gunakan PutRow guna menimpa seluruh baris.

  • TTL indeks pencarian diukur dalam detik dan menerima nilai -1 atau bilangan bulat positif 32-bit. Nilai -1 menyimpan data secara permanen. Nilai positif maksimum merepresentasikan periode retensi sekitar 68 tahun.

  • TTL indeks pencarian dan TTL tabel dikonfigurasi secara independen, tetapi TTL indeks pencarian harus kurang dari atau sama dengan TTL tabel. Jika TTL indeks pencarian yang dituju lebih besar daripada TTL tabel saat ini, tingkatkan terlebih dahulu TTL tabel tersebut. Jika Anda menurunkan kedua TTL tersebut, turunkan dulu TTL indeks pencarian.

  • Tablestore menghapus data indeks pencarian yang kedaluwarsa satu kali per hari. Hingga pembersihan berikutnya selesai, kueri mungkin masih mengembalikan data kedaluwarsa yang belum dihapus. Setelah Anda memperbarui TTL tabel atau indeks pencarian, Tablestore akan menghapus data yang kedaluwarsa akibat perubahan tersebut selama siklus pembersihan berikutnya.

Prosedur

Manajemen lifecycle mencakup menonaktifkan operasi UpdateRow untuk tabel, mengonfigurasi TTL indeks pencarian, dan—jika diperlukan—mengonfigurasi TTL tabel. Urutan Langkah 2 dan 3 dapat disesuaikan berdasarkan batasan TTL yang dijelaskan di atas.

  1. Nonaktifkan operasi UpdateRow untuk tabel.

    Contoh berikut menonaktifkan operasi UpdateRow untuk example_table.

    table_options = TableOptions(
        time_to_live=None,
        max_version=None,
        max_time_deviation=None,
        allow_update=False,
    )
    client.update_table(
        "example_table",
        table_options=table_options,
    )
  2. Konfigurasikan TTL indeks pencarian.

    Pilih opsi berdasarkan apakah indeks pencarian sudah ada atau belum.

    Indeks baru

    Atur TTL tujuh hari saat membuat indeks pencarian.

    fields = [
        FieldSchema("category", FieldType.KEYWORD, index=True),
        FieldSchema("price", FieldType.LONG, index=True),
    ]
    index_meta = SearchIndexMeta(
        fields,
        time_to_live=7 * 24 * 60 * 60,
    )
    client.create_search_index(
        "example_table",
        "example_index",
        index_meta,
    )

    Indeks yang sudah ada

    Perbarui TTL indeks pencarian yang sudah ada menjadi tujuh hari.

    index_meta = SearchIndexMeta(
        fields=None,
        time_to_live=7 * 24 * 60 * 60,
    )
    client.update_search_index(
        "example_table",
        "example_index",
        index_meta,
    )
  3. Konfigurasikan TTL tabel jika diperlukan.

    Contoh berikut mengatur TTL example_table menjadi tujuh hari. Jalankan operasi ini sebelum atau sesudah mengonfigurasi TTL indeks pencarian sesuai dengan batasan yang dijelaskan di atas.

    table_options = TableOptions(
        time_to_live=7 * 24 * 60 * 60,
        max_version=None,
        max_time_deviation=None,
    )
    client.update_table(
        "example_table",
        table_options=table_options,
    )

Setelah konfigurasi, kueri informasi tabel dan kueri informasi indeks pencarian untuk memverifikasi kedua TTL tersebut.