Todos os produtos
Search
Central de documentação

Tablestore:Configure the TTL of a search index

Última atualização: Aug 20, 2026

Use o Tablestore SDK for Python para configurar o tempo de vida (TTL) de um índice de pesquisa. O Tablestore remove automaticamente os dados do índice após o término do período de retenção.

Pré-requisitos

  • Instale o Tablestore SDK for Python e inicialize um cliente.

  • Existe uma tabela com o número máximo de versões de dados definido como 1.

Observações de uso

  • Antes de gerenciar o TTL de um índice de pesquisa, desative as operações UpdateRow na tabela para evitar inconsistências de dados entre a tabela e o índice. O TTL da tabela aplica-se a colunas de atributos individuais, enquanto o TTL do índice de pesquisa aplica-se à linha inteira. Com UpdateRow, a limpeza por TTL pode remover apenas algumas colunas da tabela e manter a linha completa no índice de pesquisa. Para atualizar dados, use PutRow e sobrescreva toda a linha.

  • O TTL do índice de pesquisa é medido em segundos e aceita -1 ou um inteiro positivo de 32 bits. O valor -1 armazena os dados permanentemente. O valor positivo máximo representa um período de retenção de aproximadamente 68 anos.

  • Os TTLs do índice de pesquisa e da tabela são configurados independentemente, mas o TTL do índice de pesquisa deve ser menor ou igual ao TTL da tabela. Se o TTL desejado para o índice for superior ao TTL atual da tabela, aumente primeiro o TTL da tabela. Para reduzir ambos, diminua primeiramente o TTL do índice de pesquisa.

  • O Tablestore remove os dados expirados do índice de pesquisa uma vez por dia. Até a conclusão da próxima limpeza, as consultas ainda podem retornar dados expirados pendentes de remoção. Após a atualização do TTL da tabela ou do índice de pesquisa, o Tablestore elimina os dados que expiraram devido à alteração durante o próximo ciclo de limpeza.

Procedimento

O gerenciamento de ciclo de vida consiste em desativar as operações UpdateRow para a tabela, configurar o TTL do índice de pesquisa e, opcionalmente, configurar o TTL da tabela. A configuração do TTL da tabela nem sempre é a última operação. Defina a ordem das etapas 2 e 3 com base na restrição de TTL descrita anteriormente.

  1. Desative as operações UpdateRow para a tabela.

    O exemplo a seguir desativa as operações 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 o TTL do índice de pesquisa.

    Escolha uma opção conforme a existência do índice de pesquisa.

    Novo índice

    Defina um TTL de sete dias ao criar um índice de pesquisa.

    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

    Atualize o TTL de um índice de pesquisa existente para sete dias.

    index_meta = SearchIndexMeta(
        fields=None,
        time_to_live=7 * 24 * 60 * 60,
    )
    client.update_search_index(
        "example_table",
        "example_index",
        index_meta,
    )
  3. Configure o TTL da tabela, se necessário.

    O exemplo abaixo define o TTL de example_table como sete dias. Execute esta operação antes ou depois de configurar o TTL do índice de pesquisa, respeitando a restrição mencionada acima.

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

Após a configuração, consulte as informações da tabela e consulte as informações do índice de pesquisa para verificar ambos os TTLs.