Todos los productos
Search
Centro de documentos

Tablestore:Wildcard query

Última actualización: Sep 03, 2026

Utilice Tablestore SDK for Python para crear patrones con * y ? que permitan buscar coincidencias en campos Keyword o Text.

Requisitos previos

Instale Tablestore SDK for Python e inicialice un cliente.

Descripción

Una consulta con comodines utiliza un patrón que contiene caracteres comodín para buscar coincidencias en un campo indexado. Este comportamiento es similar a la cláusula LIKE de SQL. El carácter * coincide con cero o más caracteres, mientras que el carácter ? coincide con cualquier carácter individual. En un campo Keyword, el patrón se compara con el valor completo del campo. En un campo Text, el patrón se compara con cada token individualmente y no se tokeniza. Un patrón puede contener hasta 32 caracteres y comenzar con un comodín. La distinción entre mayúsculas y minúsculas se respeta durante la comparación. Para implementar un comportamiento similar a NOT LIKE de SQL, agregue WildcardQuery a BoolQuery.must_not_queries. Al invocar el método search, establezca el tipo de consulta como WildcardQuery. Para obtener información sobre los tipos de campos, consulte String types.

WildcardQuery(field_name, value, weight=None)

A continuación se muestra un ejemplo que consulta filas donde el campo category coincide con el patrón book-*. Se devuelven hasta 10 filas y el número total de filas coincidentes.

query = WildcardQuery("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

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 generales de la consulta.

columns_to_get (opcional)

ColumnsToGet

Configuración de columnas a devolver. 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 WildcardQuery.

sort (opcional)

Sort

Orden de clasificación de los resultados de la consulta. Para obtener 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 siguiente página. Para obtener 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 obtener más información, consulte Aggregation.

group_bys (opcional)

list[BaseGroupBy]

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

collapse_field (opcional)

Collapse

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

highlight (opcional)

Highlight

Configuración de resumen y resaltado para campos Text. Para obtener más información, consulte Summary and highlighting.

Condición de consulta

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

Nombre

Tipo

Descripción

field_name (obligatorio)

str

Nombre del campo Keyword o Text que se va a consultar.

value (obligatorio)

str

Patrón de consulta, que puede contener hasta 32 caracteres. El carácter * coincide con cero o más caracteres, y el carácter ? coincide con cualquier carácter individual. La distinción entre mayúsculas y minúsculas se respeta durante la comparación.

weight (opcional)

float

Peso de relevancia de la condición de consulta. El valor debe ser un número de punto flotante positivo. Este parámetro no afecta la coincidencia ni el número de filas devueltas; solo influye en el orden cuando los resultados se clasifican por puntuación de relevancia. Valor predeterminado: 1.0.

Columnas a devolver

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 devolución de columnas. 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 un objeto 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 siguiente página. 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 invocar 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()