Todos los productos
Search
Centro de documentos

Tablestore:Consulta match

Última actualización: Sep 28, 2026

Una consulta match realiza una coincidencia aproximada sobre los datos de una tabla. Tablestore utiliza el tokenizer configurado para dividir en tokens los valores de las columnas Text y la cadena de búsqueda; después, busca dichos tokens. Si necesita ejecutar consultas difusas de alto rendimiento en columnas Text que usan tokenización difusa, utilice una consulta match phrase.

Escenarios

Una consulta match localiza los datos que contienen una frase específica. Al combinarse con la tokenización, habilita la indexación de texto completo. Esto resulta útil en escenarios como análisis de datos, búsqueda de contenido, gestión del conocimiento, análisis de redes sociales, análisis de registros, sistemas de chat con IA y revisiones de cumplimiento. Por ejemplo, puede filtrar rápidamente los productos de una plataforma de comercio electrónico cuyos títulos, descripciones o etiquetas contengan las palabras clave introducidas por un usuario. También permite ubicar de forma ágil mensajes de error u operaciones anómalas en los registros.

Descripción general de la función

Una consulta match realiza una coincidencia aproximada sobre los datos de una tabla. Suponga que una fila tiene una columna title de tipo Text con el valor "Hángzhōu Xīhú Fēngjǐngqū". Si esta columna usa tokenización de palabra única y la cadena de búsqueda es "hú fēng", la fila coincide.

Al usar una consulta match, debe especificar la columna donde buscar y la cadena de búsqueda. Una fila cumple la condición de consulta si alguno de los tokens de la cadena de búsqueda existe en la columna indicada.

También puede configurar parámetros como el número mínimo de coincidencias, el peso de la consulta, las columnas que se devolverán, si se devuelve el total de filas coincidentes y el método de ordenamiento del conjunto de resultados.

Operaciones de API

Las operaciones de API para una consulta match son Search o ParallelScan. El tipo de consulta específico es MatchQuery.

Parámetros

Parámetro

Descripción

fieldName

La columna donde se realizará la búsqueda.

Este método aplica a columnas de tipo Text.

text

La cadena de búsqueda, es decir, el valor que se comparará.

En las columnas Text, la cadena de búsqueda se divide en varios tokens según el tipo de tokenizer establecido al crear el search index. Si no se definió ninguno, se utiliza de forma predeterminada la tokenización de palabra única.

Por ejemplo, en una columna Text con tokenización de palabra única, la cadena "this is" coincide con "..., this is tablestore", "is this tablestore", "tablestore is cool", "this" e "is".

query

Establezca el tipo de consulta como matchQuery.

offset

La posición inicial de la consulta.

limit

El número máximo de resultados que devolverá la consulta.

Si solo necesita obtener el conteo de filas sin recuperar datos, establezca limit en 0. Con este valor no se devuelve ninguna fila.

minimumShouldMatch

El número mínimo de coincidencias.

Una fila se devuelve únicamente si el valor de la columna fieldName contiene como mínimo la cantidad indicada de tokens coincidentes.

Nota

minimumShouldMatch debe usarse junto con el operador lógico OR.

operator

El operador lógico. El valor predeterminado es OR, lo que significa que una fila cumple la condición si algunos de los tokens coinciden.

Si establece operator en AND, la fila cumple la condición solo cuando todos los tokens están presentes en el valor de la columna.

getTotalCount

Indica si se devuelve el total de filas coincidentes. El valor predeterminado es false, por lo que no se devuelve dicho total.

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

weight

El peso de la consulta. Se utiliza para ordenar por puntuación en escenarios de índices de texto completo. Este parámetro define el peso con el que se calcula la puntuación de una columna. Un valor mayor genera una puntuación más alta. Debe ser un número de punto flotante positivo.

Este parámetro no afecta la cantidad de resultados devueltos, sino únicamente sus puntuaciones.

tableName

El nombre de la tabla de datos.

indexName

El nombre del search index.

columnsToGet

Indica si se devuelven todas las columnas. Incluye las configuraciones returnAll y columns.

De forma predeterminada, returnAll es false, por lo que no se devuelven todas las columnas. En este caso, use columns para indicar cuáles desea obtener. Si no especifica ninguna, solo se devuelven las columnas de clave primaria.

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

Notas

Search Index proporciona únicamente la puntuación de relevancia básica BM25 y no admite modelos de relevancia personalizados.

Uso

Puede ejecutar una consulta match desde la consola, la interfaz de línea de comandos o un kit de desarrollo de software (SDK). Antes de empezar, complete las siguientes preparaciones.

Usar 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 correspondiente y haga clic en Search dentro de la columna Actions.

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

    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 automáticamente 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, devuelve los datos que cumplen como mínimo una de las condiciones. Si selecciona Not, devuelve los datos que no cumplen las condiciones indicadas.

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

    4. Establezca el tipo de consulta del campo de índice en Match Query (MatchQuery) e introduzca el valor que desea consultar.

    5. El ordenamiento está deshabilitado de forma predeterminada. Para ordenar los resultados por un campo específico, active Enable Sorting, agregue el campo de ordenamiento y configure el criterio correspondiente.

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

  4. Haga clic en OK.

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

Usar la interfaz de línea de comandos

Ejecute el comando search en la interfaz de línea de comandos para consultar datos mediante un search index. Para obtener más información, consulte Search index.

  1. Ejecute el comando search para consultar los datos de la tabla con el search index search_index y devolver todas las columnas indexadas.

    search -n search_index --return_all_indexed
  2. Introduzca las condiciones de consulta cuando el sistema lo solicite. A continuación se muestra un ejemplo:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "MatchQuery",
            "Query": {
                "FieldName": "col_text",
                "Text": "this is",
                "MinimumShouldMatch": 1
            }
        }
    }

Usar un SDK

Puede ejecutar una consulta match con el Java SDK, Go SDK, Python SDK, Node.js SDK, .NET SDK o PHP SDK. Esta sección toma como ejemplo el SDK de Java.

El siguiente ejemplo consulta las filas cuyo campo description contiene el token tablestore o durable. Devuelve un máximo de 10 filas, el total de filas coincidentes y las puntuaciones de relevancia.

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

MatchQuery matchQuery = new MatchQuery();
matchQuery.setFieldName("description");
matchQuery.setText("tablestore durable");

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(matchQuery);
searchQuery.setSort(new Sort(Collections.singletonList(new ScoreSort())));
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);
for (SearchHit hit : response.getSearchHits()) {
    System.out.println(hit.getRow());
    System.out.println(hit.getScore());
}

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

Referencias