Todos os produtos
Search
Central de documentação

Tablestore:Consulta com caractere curinga

Última atualização: Jul 03, 2026

Ao executar uma consulta com caractere curinga, use o asterisco () e o ponto de interrogação (?) como caracteres curinga para buscar dados. O asterisco () corresponde a uma string de qualquer comprimento no início, meio ou fim do termo de pesquisa. O ponto de interrogação (?) substitui um único caractere em uma posição específica. A string pode começar com asterisco () ou ponto de interrogação (?). Por exemplo, ao pesquisar pela string "tablee", o termo "tablestore" é correspondido.

Se o padrão de consulta for *word* (equivalente a WHERE field_a LIKE '%word%' em SQL), use o recurso de consultas com caractere curinga baseadas em token para obter melhor desempenho. Essa abordagem mantém a performance mesmo com o aumento do volume de dados.

Nota

Para usar o operador NOT LIKE, combine WildcardQuery com must_not_queries de BoolQuery.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

query

Tipo da consulta. Defina o parâmetro query como WildcardQuery.

field_name

Nome da coluna a ser consultada.

value

String contendo caracteres curinga. O comprimento máximo permitido é de 32 caracteres.

table_name

Nome da tabela de dados.

index_name

Nome do índice de pesquisa.

limit

Número máximo de linhas retornadas pela consulta.

get_total_count

Indica se o número total de linhas correspondentes deve ser retornado. Valor padrão: False.

Definir o parâmetro get_total_count como true impacta o desempenho da consulta.

ColumnsToGet

Determina se todas as colunas das linhas correspondentes aos critérios da consulta serão retornadas.

  • Se return_type for ColumnReturnType.SPECIFIED, especifique as colunas desejadas no retorno.

  • Se return_type for ColumnReturnType.ALL, todas as colunas serão incluídas na resposta.

  • Se return_type for ColumnReturnType.NONE, apenas as colunas de chave primária são retornadas.

Exemplos

O código abaixo demonstra como consultar linhas em que o valor da coluna Col_Keyword corresponda ao padrão 'tablestor*'.

  • Tablestore SDK for Python V5.2.1 ou posterior

    Por padrão, ao usar o Tablestore SDK for Python V5.2.1 ou superior para executar uma consulta com caractere curinga, um objeto SearchResponse é retornado. Veja um exemplo de solicitação:

    query = WildcardQuery('Col_Keyword', 'tablestor*')
    search_response = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )
    print('request_id : %s' % search_response.request_id)
    print('is_all_succeed : %s' % search_response.is_all_succeed)
    print('total_count : %s' % search_response.total_count)
    print('rows : %s' % search_response.rows)
    
    # # If deep pagination is required, we recommend that you use the next_token parameter because this method has no limits on the pagination depth.
    # all_rows = []
    # next_token = None
    # # first round
    # search_response = client.search(
    #     '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
    #     SearchQuery(query, next_token=next_token, limit=100, get_total_count=True),
    #     columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    # all_rows.extend(search_response.rows)
    # 
    # # loop
    # while search_response.next_token:
    #     search_response = client.search(
    #         '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
    #         SearchQuery(query, next_token=search_response.next_token, limit=100, get_total_count=True),
    #         columns_to_get=ColumnsToGet(return_type=ColumnReturnType.ALL))
    #     all_rows.extend(search_response.rows)
    # print('Total rows:%s' % len(all_rows))

    Use o exemplo a seguir para obter resultados no formato Tuple:

    query = WildcardQuery('Col_Keyword', 'tablestor*')
    rows, next_token, total_count, is_all_succeed, agg_results, group_by_results = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>', 
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    ).v1_response()
  • Versões do Tablestore SDK for Python anteriores à 5.2.1

    Em versões anteriores à 5.2.1 do Tablestore SDK for Python, consultas com caractere curinga retornam resultados do tipo Tuple por padrão. Confira o exemplo de solicitação abaixo:

    query = WildcardQuery('Col_Keyword', 'tablestor*')
    rows, next_token, total_count, is_all_succeed = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
        SearchQuery(query, limit=100, get_total_count=True), 
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )

FAQ

Referências