Todos los productos
Search
Centro de documentos

Tablestore:Ejecutar una consulta match

Última actualización: Sep 22, 2026

Una consulta match permite consultar datos en una tabla con base en coincidencias aproximadas. Tablestore tokeniza los valores de las columnas de tipo TEXT y las palabras clave que se usan en las consultas match, de acuerdo con el analizador que usted especifique. De este modo, Tablestore ejecuta las consultas match a partir de los tokens generados. Se recomienda llamar a la operación MatchPhraseQuery para realizar consultas de frase en columnas con tokenización difusa, ya que esto garantiza un alto rendimiento en dichas consultas.

Requisitos previos

Parámetros

Parámetro

Descripción

FieldName

El nombre de la columna que desea consultar.

La columna puede ser de tipo TEXT.

Text

La palabra clave que se usa para coincidir con el valor de la columna durante la consulta match.

Si la columna que desea consultar es de tipo TEXT, la palabra clave se tokeniza en varios tokens según el tipo de analizador especificado al crear el índice de búsqueda. Si no se especifica el tipo de analizador durante la creación del índice, se aplica por defecto la tokenización de palabra única.

Por ejemplo, si la columna consultada es de tipo TEXT y el analizador es de palabra única, al usar la frase "this is" en la consulta match se devuelven resultados como "..., this is tablestore", "is this tablestore", "tablestore is cool", "this" e "is".

Query

El tipo de consulta. Establezca este parámetro en MatchQuery.

Operator

El operador lógico. De forma predeterminada se usa OR, lo cual indica que una fila cumple las condiciones de consulta cuando el valor de la columna contiene como mínimo la cantidad mínima de tokens.

Si establece el operador en AND, la fila cumple las condiciones de consulta únicamente cuando el valor de la columna contiene todos los tokens.

MinimumShouldMatch

La cantidad mínima de tokens coincidentes que debe contener el valor de la columna.

Una fila se devuelve solo cuando el valor de la columna consultada contiene como mínimo dicha cantidad de tokens coincidentes.

Nota

El parámetro MinimumShouldMatch debe usarse junto con el operador lógico OR.

TableName

El nombre de la tabla de datos.

IndexName

El nombre del índice de búsqueda.

GetTotalCount

Indica si se devuelve el número total de filas que cumplen las condiciones de consulta. Valor predeterminado: false, lo que significa que no se devuelve dicho total.

Si establece este parámetro en true, el rendimiento de la consulta disminuye.

ColumnsToGet

Indica si se devuelven todas las columnas de las filas que cumplen las condiciones de consulta. Puede configurar los parámetros ReturnAll, Columns y ReturnAllFromIndex.

De forma predeterminada, ReturnAll es false, lo que significa que solo se devuelven las columnas de clave primaria. Para devolver columnas adicionales, use una de las siguientes opciones:

  • Configure Columns para indicar qué columnas se deben devolver.

  • Establezca ReturnAllFromIndex en true para devolver todas las columnas del índice de búsqueda.

Establezca ReturnAll en true para devolver todas las columnas de la tabla de datos.

Ejemplo

A continuación se muestra un ejemplo de código para consultar las filas donde el valor de la columna Text_type_col coincide con "SearchIndex" en la tabla de datos.

/// <summary>
/// Query the rows in which the value of the Text_type_col column matches "SearchIndex" in a table and return the total number of rows that meet the query conditions. 
/// </summary>
/// <param name="otsClient"></param>
public static void MatchQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    // Set the query type to MatchQuery, the column that you want to match to Text_type_col, and the keyword to "SearchIndex". 
    searchQuery.Query = new MatchQuery("Text_type_col", "SearchIndex");
    // Return the total number of rows that meet the query conditions. 
    searchQuery.GetTotalCount = true;
    var request = new SearchRequest(TableName, IndexName, searchQuery);
    // You can configure the ColumnsToGet parameter to specify the columns that you want to return, specify that all columns are returned, or specify that all columns in the search index are returned. If you do not configure this parameter, only the primary key columns are returned. 
    request.ColumnsToGet = new ColumnsToGet()
    {
        // Return all columns in the search index. 
        ReturnAllFromIndex = true
        // Return the columns that you specify. 
        //Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
        // Return all columns in the rows that meet the query conditions. 
        //ReturnAll = true         
    };

    var response = otsClient.Search(request);

    Console.WriteLine("Total Count:" + response.TotalCount); // Display the total number of rows that meet the query conditions instead of the number of returned rows. 
}

Preguntas frecuentes

Referencias

  • Al consultar datos mediante un índice de búsqueda, puede utilizar los siguientes métodos de consulta: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query y exists query. Estos métodos le permiten consultar datos desde múltiples dimensiones según sus necesidades de negocio.

    Las funciones de ordenación y paginación permiten organizar o dividir en páginas las filas que cumplen las condiciones de consulta. Para obtener más información, consulte Sorting and paging.

    La función collapse (distinct) reduce el conjunto de resultados con base en una columna específica. Así, los datos del tipo indicado aparecen una sola vez en los resultados de la consulta. Para obtener más información, consulte Collapse (distinct).

  • Si necesita analizar los datos de una tabla, utilice la función de agregación de la operación Search o ejecute instrucciones SQL. Por ejemplo, puede obtener los valores mínimo y máximo, la suma y el número total de filas. Para obtener más información, consulte Aggregation y SQL query.

  • Cuando requiera obtener todas las filas que cumplen las condiciones de consulta sin necesidad de ordenarlas, llame a las operaciones ParallelScan y ComputeSplits para aprovechar la función de escaneo paralelo. Para obtener más información, consulte Parallel scan.