Todos los productos
Search
Centro de documentos

Tablestore:Configure el TTL de un índice de búsqueda

Última actualización: Sep 03, 2026

Utilice Tablestore SDK for Python para configurar el tiempo de vida (TTL) de un índice de búsqueda. Tablestore elimina automáticamente los datos del índice una vez que expira su periodo de retención.

Requisitos previos

  • Instale Tablestore SDK for Python e inicialice un cliente.

  • Debe existir una tabla y su número máximo de versiones de datos debe estar establecido en 1.

Notas de uso

  • Antes de gestionar el TTL de un índice de búsqueda, deshabilite las operaciones UpdateRow en la tabla para evitar inconsistencias de datos entre la tabla y el índice de búsqueda. El TTL de una tabla se aplica a columnas de atributos individuales, mientras que el TTL de un índice de búsqueda se aplica a toda la fila. Con UpdateRow, la limpieza por TTL podría eliminar solo algunas columnas de la tabla pero conservar la fila completa en el índice de búsqueda. Para actualizar datos, utilice PutRow y sobrescriba la fila completa.

  • El TTL de un índice de búsqueda se mide en segundos y acepta -1 o un entero positivo de 32 bits. Un valor de -1 almacena los datos de forma permanente. El valor positivo máximo representa un periodo de retención de aproximadamente 68 años.

  • El TTL del índice de búsqueda y el TTL de la tabla se configuran de manera independiente, pero el TTL del índice de búsqueda debe ser menor o igual al TTL de la tabla. Si el TTL deseado para el índice de búsqueda es mayor que el TTL actual de la tabla, aumente primero el TTL de la tabla. Si reduce ambos valores de TTL, disminuya primero el TTL del índice de búsqueda.

  • Tablestore elimina los datos vencidos del índice de búsqueda una vez al día. Hasta que finalice la siguiente limpieza, las consultas podrían devolver datos vencidos que aún no se han eliminado. Después de actualizar el TTL de una tabla o de un índice de búsqueda, Tablestore elimina los datos que venzan debido al cambio durante el siguiente ciclo de limpieza.

Procedimiento

La gestión del ciclo de vida consiste en deshabilitar las operaciones UpdateRow para la tabla, configurar el TTL del índice de búsqueda y, opcionalmente, configurar el TTL de la tabla. La configuración del TTL de la tabla no siempre es la última operación. Determine el orden de los pasos 2 y 3 según la restricción de TTL descrita anteriormente.

  1. Deshabilite las operaciones UpdateRow para la tabla.

    A continuación se muestra un ejemplo que deshabilita las operaciones UpdateRow para 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. Configure el TTL del índice de búsqueda.

    Elija una opción según si el índice de búsqueda ya existe.

    Índice nuevo

    Establezca un TTL de siete días al crear un índice de búsqueda.

    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,
    )

    Índice existente

    Actualice el TTL de un índice de búsqueda existente a siete días.

    index_meta = SearchIndexMeta(
        fields=None,
        time_to_live=7 * 24 * 60 * 60,
    )
    client.update_search_index(
        "example_table",
        "example_index",
        index_meta,
    )
  3. Configure el TTL de la tabla si es necesario.

    El siguiente ejemplo establece el TTL de example_table en siete días. Ejecute esta operación antes o después de configurar el TTL del índice de búsqueda, según la restricción descrita anteriormente.

    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,
    )

Después de la configuración, utilice query table information y query search index information para comprobar ambos valores de TTL.