Todos los productos
Search
Centro de documentos

Tablestore:Wildcard query

Última actualización: Sep 29, 2026

Una consulta con comodines (WildcardQuery) ejecuta una búsqueda difusa. Su funcionamiento es similar al del operador LIKE en una base de datos.

Nota

Para implementar la funcionalidad NOT LIKE, debe usar un WildcardQuery junto con el parámetro mustNotQueries dentro de una consulta booleana. Para obtener más información, consulte Boolean query.

Descripción general

La consulta con comodines utiliza caracteres especiales para la coincidencia de patrones, lo que mejora la precisión y la eficiencia de las búsquedas.

Cuando usa la función WildcardQuery, puede emplear una cadena de consulta con comodines para hacer coincidir los datos. Esta función admite los comodines de asterisco () y signo de interrogación (?). El asterisco () representa cualquier secuencia de caracteres y el signo de interrogación (?) representa un solo carácter cualquiera. La cadena de consulta puede comenzar con un asterisco (*) o con un signo de interrogación (?). Por ejemplo, una búsqueda con table*e puede coincidir con tablestore.

El WildcardQuery es compatible con campos de los tipos de datos Keyword y FuzzyKeyword.

  • Keyword: tipo de datos básico de cadena. El rendimiento de las consultas difusas, como la consulta con comodines, sobre campos Keyword es deficiente en conjuntos de datos grandes y disminuye a medida que crece el volumen de datos.

  • FuzzyKeyword: tipo de datos optimizado para consultas difusas como las consultas con comodines. Ofrece un rendimiento superior y estable que no se degrada de forma significativa cuando aumenta el tamaño del conjunto de datos.

Search Index ofrece tres tipos de consultas con comodines para cubrir diversos requisitos de coincidencia difusa. Para obtener más información, consulte la siguiente tabla.

Nota

Este tema describe cómo ejecutar un WildcardQuery en campos de tipo Keyword y FuzzyKeyword. Para conocer cómo implementar consultas difusas en campos de tipo Text, consulte Wildcard query based on tokenization.

Tipo

Método de consulta

Ventaja

Desventaja

Keyword

WildcardQuery

Compatible con Elasticsearch.

El rendimiento de la consulta disminuye conforme crece la cantidad de datos indexados.

FuzzyKeyword

WildcardQuery

Ofrece un rendimiento superior y estable que no se degrada de forma significativa cuando aumenta el tamaño de los datos.

Provoca cierta expansión de los datos.

Text

MatchPhraseQuery

Admite coincidencias sin distinción entre mayúsculas y minúsculas.

Provoca cierta expansión de los datos.

Notas de uso

El término de consulta en un WildcardQuery no puede superar los 32 caracteres, tanto para campos Keyword como FuzzyKeyword.

API

Para ejecutar una consulta con comodines, llame a la operación Search o parallel scan y establezca el tipo de consulta en WildcardQuery.

Parámetros

Parámetro

Descripción

fieldName

Nombre de la columna que se va a consultar.

value

Cadena que contiene los comodines. No puede superar los 32 caracteres.

query

Tipo de consulta. Establezca este parámetro en WildcardQuery.

getTotalCount

Indica si se devuelve el número total de filas coincidentes. El valor predeterminado es false.

Devolver el número total de filas coincidentes puede afectar el rendimiento de la consulta.

weight

Peso de la consulta. Es un número de punto flotante positivo que se usa para ordenar por puntuación en búsquedas de texto completo. Un peso mayor asigna una puntuación más alta a la columna en los resultados de la consulta.

Este parámetro afecta las puntuaciones de los resultados devueltos, pero no influye en la cantidad de resultados obtenidos.

tableName

Nombre de la tabla de datos.

indexName

Nombre del Search Index.

columnsToGet

Especifica qué columnas se devuelven. Incluye las configuraciones returnAll y columns.

De forma predeterminada, returnAll es false, lo que indica que no se devuelven todas las columnas. En este caso, puede usar columns para especificar las columnas que desea obtener. Si no especifica ninguna, solo se devuelven las columnas de clave primaria.

Si establece returnAll en true, se devuelven todas las columnas.

Modo de uso

Puede ejecutar una consulta con comodines desde la consola de Tablestore, mediante una herramienta de línea de comandos (CLI) o con un SDK. Antes de comenzar, complete las siguientes preparaciones:

Importante

Actualmente, un WildcardQuery sobre un campo FuzzyKeyword solo es compatible con los SDK de Tablestore.

Uso de la consola

  1. Vaya a la pestaña Index Management.

    1. Inicie sesión en la consola de Table Store.

    2. En la barra de navegación superior, seleccione un resource group y una región.

    3. En la página Overview, haga clic en el nombre de la instancia o en Instance Management dentro de la columna Actions.

    4. En la pestaña Instance Details y dentro de la pestaña Data Table List, haga clic en el nombre de la tabla de datos o en Index Management en la columna Actions.

  2. En la pestaña Index Management, busque el Search Index de destino y haga clic en Manage Data dentro de la columna Actions.

  3. En el cuadro de diálogo Search, configure la consulta.

    1. De forma predeterminada, se devuelven todas las columnas. Para devolver columnas específicas, desactive Retrieve All Columns e introduzca los nombres de las columnas separados por comas.

      Nota

      Table Store devuelve de forma predeterminada las columnas de clave primaria de la tabla de datos.

    2. Seleccione un operador lógico: And, Or o Not.

      Si selecciona And, la consulta devuelve los datos que cumplen todas las condiciones especificadas. Si selecciona Or, la consulta devuelve los datos que cumplen como mínimo una de las condiciones especificadas. Si selecciona Not, la consulta devuelve los datos que no cumplen las condiciones especificadas.

    3. Seleccione un campo de índice y haga clic en Add.

    4. Establezca el tipo de consulta del campo de índice en WildcardQuery e introduzca un valor que contenga comodines.

    5. La ordenación está deshabilitada de forma predeterminada. Para ordenar los resultados por un campo específico, active Enable Sorting, agregue el campo de ordenación y configure el criterio de orden.

    6. La agregación está deshabilitada de forma predeterminada. Para realizar una agregación estadística sobre un campo específico, active Enable Aggregation, agregue el campo correspondiente y configure los parámetros de agregación.

  4. Haga clic en OK.

    Los resultados de la consulta se muestran en la pestaña Index Management.

Uso de la herramienta de línea de comandos

Puede ejecutar el comando search en una herramienta de línea de comandos (CLI) para consultar datos mediante un Search Index. Para obtener más información, consulte Search Index.

Importante

Actualmente, la CLI solo admite WildcardQuery para el tipo Keyword, no para el tipo FuzzyKeyword.

  1. Ejecute el comando search para consultar los datos de la tabla mediante el Search Index search_index. Este comando devuelve todas las columnas indexadas.

    search -n search_index --return_all_indexed
  2. Introduzca las condiciones de consulta según las indicaciones. A continuación se muestra un ejemplo de código:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "WildcardQuery",
            "Query": {
                "FieldName": "col_keyword",
                "Value": "hang*u"
            }
        }
    }

Uso de un SDK

Puede ejecutar una consulta con comodines mediante Java SDK, Go SDK, Python SDK, Node.js SDK, .NET SDK o PHP SDK. En esta sección se toma el SDK de Java como ejemplo.

Nota

La instrucción de consulta es idéntica para los tipos Keyword y FuzzyKeyword. La única diferencia radica en el tipo de datos de la columna consultada.

En el siguiente ejemplo se consultan los valores Keyword del campo product_name que coinciden con el patrón table*e. La consulta devuelve un máximo de 10 filas y el número total de coincidencias.

String tableName = "example_table";
String indexName = "example_index";

WildcardQuery wildcardQuery = new WildcardQuery();
wildcardQuery.setFieldName("product_name");
wildcardQuery.setValue("table*e");

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(wildcardQuery);
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);

SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());

Facturación

Consultar datos mediante un Search Index consume capacidad de procesamiento de lectura. Para obtener más información, consulte Search Index metering and billing.

Preguntas frecuentes

Temas relacionados