Todos os produtos
Search
Central de documentação

Tablestore:Exists query

Última atualização: Aug 20, 2026

Use o Tablestore SDK for Python para filtrar dados com base na existência de um campo indexado específico.

Pré-requisitos

Instale o Tablestore SDK for Python e inicialize um cliente.

Descrição

A consulta Exists, também chamada de consulta NULL, corresponde a linhas em que um campo indexado especificado existe. Um campo não existe se a coluna correspondente não foi gravada na tabela. Arrays vazios também são tratados como campos inexistentes. Para consultar um campo Nested ou um de seus campos filhos, envolva ExistsQuery em NestedQuery. Para corresponder a linhas em que o campo não existe, adicione ExistsQuery a BoolQuery.must_not_queries. Ao chamar o método search, defina o tipo de consulta como ExistsQuery.

ExistsQuery(field_name)

O exemplo a seguir consulta linhas nas quais o campo city existe e retorna até 10 linhas, além da contagem total de linhas correspondentes.

query = ExistsQuery("city")
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 busca

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

Nome

Tipo

Descrição

table_name (obrigatório)

str

Nome da tabela de dados.

index_name (obrigatório)

str

Nome do índice de busca.

search_query (obrigatório)

SearchQuery

Condição de consulta e configurações comuns de busca.

columns_to_get (opcional)

ColumnsToGet

Configuração das colunas de retorno. Se este parâmetro não for especificado, apenas as colunas de chave primária serão retornadas.

routing_keys (opcional)

list

Lista de valores de chave primária para campos de roteamento personalizado. Não é necessário especificar este parâmetro se o roteamento personalizado não estiver configurado.

timeout_s (opcional)

int

Tempo limite da solicitação em segundos. Se este parâmetro não for especificado, o tempo limite no nível do cliente será usado.

Configuração da consulta

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

Nome

Tipo

Descrição

query (obrigatório)

Query

Condição da consulta. Defina este parâmetro como ExistsQuery.

sort (opcional)

Sort

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

get_total_count (opcional)

bool

Especifica se o número total de linhas correspondentes deve ser retornado. Valor padrão: False. Definir este parâmetro como True aumenta a sobrecarga da consulta.

next_token (opcional)

bytes

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

offset (opcional)

int

Deslocamento a partir do qual a consulta atual começa. Use este parâmetro para paginação superficial.

limit (opcional)

int

Número máximo de linhas a retornar. Se este parâmetro for definido como 0, nenhum dado de linha será retornado.

aggs (opcional)

list[Agg]

Configurações de agregação. Para mais informações, consulte Aggregation.

group_bys (opcional)

list[BaseGroupBy]

Configurações de agrupamento. Para mais informações, consulte Aggregation.

collapse_field (opcional)

Collapse

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

Condição de consulta

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

Nome

Tipo

Descrição

field_name (obrigatório)

str

Nome do campo indexado a ser consultado.

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]

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

return_type (opcional)

ColumnReturnType

Modo de retorno das colunas. 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]

Linhas retornadas pela consulta atual. O número de linhas não excede limit.

next_token

bytes

Token para a próxima página. Se este campo não estiver vazio, passe-o para a próxima solicitação para continuar a leitura.

total_count

int

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

is_all_succeed

bool

Indica se todas as partições do índice foram consultadas. Se o valor for False, resultados parciais serão retornados e total_count poderá ser menor que o número real de linhas correspondentes.

agg_results

list[AggResult]

Resultados da agregação. Este campo estará vazio se aggs não estiver configurado.

group_by_results

list[GroupByResult]

Resultados do agrupamento. Este campo estará vazio se group_bys não estiver configurado.

search_hits

list[SearchHit]

Resultados da busca, incluindo 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 busca retornam objetos de resposta em vez de tuplas. A versão 5.1.0 e anteriores retornam tuplas diretamente. Na versão 5.2.1 e posteriores, chame SearchResponse.v1_response() para obter uma tupla compatível com versões anteriores. Para novos códigos, acesse os atributos de SearchResponse diretamente para evitar erros de desempacotamento caso os campos da resposta sejam estendidos.

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