Todos los productos
Search
Centro de documentos

Tablestore:Exists query

Última actualización: Sep 03, 2026

Utilice Tablestore SDK for Python para filtrar datos según la existencia de un campo indexado específico.

Requisitos previos

Instale Tablestore SDK for Python e inicialice un cliente.

Descripción

Una consulta de existencia, también conocida como consulta NULL, coincide con las filas en las que existe un campo indexado especificado. Un campo no existe si la columna correspondiente no se escribió en la tabla. Una matriz vacía también se considera un campo inexistente. Para consultar un campo anidado (Nested) o uno de sus campos secundarios, envuelva ExistsQuery dentro de NestedQuery. Para obtener las filas donde el campo no existe, agregue ExistsQuery a BoolQuery.must_not_queries. Al llamar al método search, establezca el tipo de consulta como ExistsQuery.

ExistsQuery(field_name)

El siguiente ejemplo consulta las filas en las que existe el campo city y devuelve hasta 10 filas junto con el número total de filas coincidentes.

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

Solicitud de búsqueda

El método search incluye los siguientes parámetros.

Nombre

Tipo

Descripción

table_name (obligatorio)

str

Nombre de la tabla de datos.

index_name (obligatorio)

str

Nombre del índice de búsqueda.

search_query (obligatorio)

SearchQuery

Condición de consulta y configuraciones comunes de la consulta.

columns_to_get (opcional)

ColumnsToGet

Configuración de columnas de retorno. Si no se especifica este parámetro, solo se devuelven las columnas de clave principal.

routing_keys (opcional)

list

Lista de valores de clave principal para campos de enrutamiento personalizado. No es necesario especificar este parámetro si no se ha configurado el enrutamiento personalizado.

timeout_s (opcional)

int

Tiempo de espera de la solicitud en segundos. Si no se especifica este parámetro, se utiliza el tiempo de espera definido a nivel de cliente.

Configuración de la consulta

search_query es de tipo SearchQuery e incluye los siguientes parámetros.

Nombre

Tipo

Descripción

query (obligatorio)

Query

Condición de consulta. Establezca este parámetro como ExistsQuery.

sort (opcional)

Sort

Orden de clasificación de los resultados de la consulta. Para más información, consulte Sort and paginate results.

get_total_count (opcional)

bool

Indica si se debe devolver el número total de filas coincidentes. Valor predeterminado: False. Establecer este parámetro como True incrementa la sobrecarga de la consulta.

next_token (opcional)

bytes

Token de paginación. Establezca este parámetro con el valor next_token de la respuesta anterior para recuperar la página siguiente. Para más información, consulte Sort and paginate results.

offset (opcional)

int

Desplazamiento desde el cual comienza la consulta actual. Utilice este parámetro para una paginación superficial.

limit (opcional)

int

Número máximo de filas a devolver. Si este parámetro se establece en 0, no se devuelve ningún dato de fila.

aggs (opcional)

list[Agg]

Configuraciones de agregación. Para más información, consulte Aggregation.

group_bys (opcional)

list[BaseGroupBy]

Configuraciones de agrupamiento. Para más información, consulte Aggregation.

collapse_field (opcional)

Collapse

Configuración de colapso de resultados, que elimina duplicados basándose en un campo específico. Para más información, consulte Collapse query results.

Condición de consulta

search_query.query es de tipo ExistsQuery e incluye los siguientes parámetros.

Nombre

Tipo

Descripción

field_name (obligatorio)

str

Nombre del campo indexado que se va a consultar.

Columnas de retorno

columns_to_get es de tipo ColumnsToGet e incluye los siguientes parámetros.

Nombre

Tipo

Descripción

column_names (opcional)

list[str]

Nombres de las columnas de atributos a devolver. Especifique este parámetro únicamente cuando return_type sea SPECIFIED.

return_type (opcional)

ColumnReturnType

Modo de columnas de retorno. NONE (predeterminado) devuelve solo las columnas de clave principal; SPECIFIED devuelve las columnas de atributos indicadas en column_names; ALL devuelve todas las columnas de atributos de la tabla; y ALL_FROM_INDEX devuelve todas las columnas de atributos indexadas.

Respuesta

El método search devuelve SearchResponse. La siguiente tabla describe los campos principales.

Campo

Tipo

Descripción

rows

list[Row]

Filas devueltas por la consulta actual. El número de filas no supera el valor de limit.

next_token

bytes

Token para la página siguiente. Si este campo no está vacío, páselo a la siguiente solicitud para continuar la lectura.

total_count

int

Número de filas coincidentes. El valor depende de la configuración de get_total_count.

is_all_succeed

bool

Indica si se consultaron todas las particiones del índice. Si el valor es False, se devuelven resultados parciales y total_count podría ser menor que el número real de filas coincidentes.

agg_results

list[AggResult]

Resultados de agregación. Este campo está vacío si no se configura aggs.

group_by_results

list[GroupByResult]

Resultados de agrupamiento. Este campo está vacío si no se configura group_bys.

search_hits

list[SearchHit]

Coincidencias de búsqueda, que incluyen información extendida como puntuaciones de relevancia, resaltados y filas secundarias coincidentes.

Respuesta compatible con tuplas

A partir de Tablestore SDK for Python 5.2.0, las API de búsqueda devuelven objetos de respuesta en lugar de tuplas. La versión 5.1.0 y anteriores devuelven tuplas directamente. En la versión 5.2.1 y posteriores, puede llamar a SearchResponse.v1_response() para obtener una tupla compatible con versiones anteriores. Para código nuevo, acceda directamente a los atributos de SearchResponse y evite errores de desempaquetado si se amplían los campos de respuesta.

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