Todos os produtos
Search
Central de documentação

Tablestore:Prefix query

Última atualização: Oct 09, 2026

Use o Tablestore SDK for Python para corresponder a valores de campo ou tokens que comecem com uma string especificada.

Pré-requisitos

Instale o Tablestore SDK for Python e inicialize o cliente.

Descrição

Uma consulta de prefixo corresponde a valores de campo ou tokens que começam com a string de consulta. Para um campo Keyword, o valor completo do campo deve começar com a string de consulta. Para um campo Text, uma linha é considerada correspondente se um dos tokens começar com a string de consulta. O sistema não tokeniza a string de consulta. A correspondência faz distinção entre maiúsculas e minúsculas. Ao chamar o método search, defina o tipo de consulta como PrefixQuery. Para obter informações sobre os tipos de campo, consulte String types.

PrefixQuery(field_name, prefix, weight=None)

O exemplo a seguir consulta linhas nas quais o campo category começa com book- e retorna até 10 linhas, além do número total de linhas correspondentes.

query = PrefixQuery("category", "book-")
search_query = SearchQuery(
    query,
    limit=10,
    get_total_count=True,
)
response = client.search(
    "example_table",
    "example_index",
    search_query,
    ColumnsToGet(return_type=ColumnReturnType.ALL),
)
print(response.total_count)
for row in response.rows:
    print(row)

Parâmetros

Solicitação de pesquisa

O método search contém os seguintes parâmetros.

Nome

Tipo

Descrição

table_name (obrigatório)

str

O nome da tabela de dados.

index_name (obrigatório)

str

O nome do índice de pesquisa.

search_query (obrigatório)

SearchQuery

As condições de consulta e as configurações gerais de consulta.

columns_to_get (opcional)

ColumnsToGet

A configuração das colunas de retorno. Se você não especificar este parâmetro, o sistema retornará apenas as colunas de chave primária.

routing_keys (opcional)

list

A lista de valores de chave primária para campos de roteamento personalizado. Não especifique este parâmetro se não houver configuração de roteamento personalizado.

timeout_s (opcional)

int

O tempo limite da solicitação em segundos. Se você não especificar este parâmetro, o sistema aplica o tempo limite no nível do cliente.

Configuração de consulta

search_query é do tipo SearchQuery e contém os seguintes parâmetros.

Nome

Tipo

Descrição

query (obrigatório)

Query

A condição de consulta. Defina este parâmetro como PrefixQuery.

sort (opcional)

Sort

A ordem de classificação dos resultados da consulta. Para obter mais informações, consulte Sort and paginate results.

get_total_count (opcional)

bool

Defina se a consulta retorna o número total de linhas correspondentes. Valor padrão: False. Caso defina este parâmetro como True, a sobrecarga da consulta aumenta.

next_token (opcional)

bytes

O token de paginação. Defina este parâmetro como next_token da resposta anterior para recuperar a próxima página. Para obter mais informações, consulte Sort and paginate results.

offset (opcional)

int

O deslocamento inicial da consulta atual. Use este parâmetro para paginação superficial.

limit (opcional)

int

O número máximo de linhas a retornar. Caso defina este parâmetro como 0, o sistema não retornará dados de linha.

aggs (opcional)

list[Agg]

As configurações de agregação. Para obter mais informações, consulte Aggregation.

group_bys (opcional)

list[BaseGroupBy]

As configurações de agrupamento. Para obter mais informações, consulte Aggregation.

collapse_field (opcional)

Collapse

A configuração de colapso de resultados, que remove resultados duplicados com base em um campo especificado. Para obter mais informações, consulte Collapse query results.

highlight (opcional)

Highlight

A configuração de resumo e destaque para campos Text. Para obter mais informações, consulte Summary and highlighting.

Condição de consulta

search_query.query é do tipo PrefixQuery e contém os seguintes parâmetros.

Nome

Tipo

Descrição

field_name (obrigatório)

str

O nome do campo Keyword ou Text da consulta.

prefix (obrigatório)

str

A string de consulta. Para um campo Keyword, o valor do campo deve começar com a string. Para um campo Text, um token deve começar com a string. A string não sofre tokenização. A correspondência faz distinção entre maiúsculas e minúsculas.

weight (opcional)

float

O peso de relevância da condição de consulta. O valor deve ser um número de ponto flutuante positivo. Este parâmetro não afeta a correspondência nem o número de linhas retornadas. Isso afeta a ordem apenas quando os resultados são classificados por pontuação de relevância. Valor padrão: 1.0.

Colunas de retorno

columns_to_get é do tipo ColumnsToGet e contém os seguintes parâmetros.

Nome

Tipo

Descrição

column_names (opcional)

list[str]

Os nomes das colunas de atributo a retornar. Especifique este parâmetro apenas quando return_type for SPECIFIED.

return_type (opcional)

ColumnReturnType

O modo de coluna de retorno. NONE (padrão) retorna apenas colunas de chave primária; SPECIFIED retorna as colunas de atributo em column_names; ALL retorna todas as colunas de atributo da tabela; e ALL_FROM_INDEX retorna todas as colunas de atributo indexadas.

Resposta

O método search retorna SearchResponse. A tabela a seguir descreve os campos principais.

Campo

Tipo

Descrição

rows

list[Row]

As linhas que a consulta atual retorna. O número de linhas não excede limit.

next_token

bytes

O token para a próxima página. Se este campo não estiver vazio, passe-o para a próxima solicitação e continue a leitura.

total_count

int

O número de linhas correspondentes. O valor depende da configuração get_total_count.

is_all_succeed

bool

Indica se a consulta atingiu todas as partições de índice. Se o valor for False, o sistema retorna resultados parciais e total_count pode ser menor que o número real de linhas correspondentes.

agg_results

list[AggResult]

Os resultados da agregação. Este campo fica vazio se aggs não estiver configurado.

group_by_results

list[GroupByResult]

Os resultados do agrupamento. Este campo fica vazio se group_bys não estiver configurado.

search_hits

list[SearchHit]

Os acertos da pesquisa, que incluem informações estendidas, como pontuações de relevância, destaques e linhas filhas correspondentes.

Resposta compatível com tupla

A partir do Tablestore SDK for Python 5.2.0, as APIs de pesquisa retornam objetos de resposta em vez de tuplas. A versão 5.1.0 e as versões anteriores retornam tuplas diretamente. Nas versões 5.2.1 e posteriores, chame SearchResponse.v1_response() para obter uma tupla compatível com versões anteriores. Em códigos novos, acesse os atributos de SearchResponse diretamente para evitar erros de desempacotamento caso os campos de resposta sejam estendidos.

(
    rows,
    next_token,
    total_count,
    is_all_succeed,
    agg_results,
    group_by_results,
    search_hits,
) = response.v1_response()