Todos os produtos
Search
Central de documentação

Tablestore:Executar uma match query

Última atualização: Jul 03, 2026

A match query permite consultar dados em uma tabela com base em correspondências aproximadas. O Tablestore tokeniza os valores das colunas do tipo TEXT e as palavras-chave usadas na consulta, conforme o analisador especificado. Assim, o Tablestore executa match queries com base nos tokens gerados. Para colunas com tokenização difusa, recomendamos usar a operação MatchPhraseQuery e garantir alta performance em consultas fuzzy.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

FieldName

Nome da coluna a ser consultada.

A coluna pode ser do tipo TEXT.

Text

Palavra-chave usada para corresponder ao valor da coluna durante a match query.

Se a coluna consultada for do tipo TEXT, a palavra-chave será dividida em vários tokens conforme o tipo de analisador definido na criação do índice de pesquisa. Caso nenhum analisador seja especificado, o sistema aplica tokenização de palavra única por padrão.

Por exemplo, se a coluna for do tipo TEXT e o analisador utilizar tokenização de palavra única, uma consulta com a frase "this is" retornará resultados como "..., this is tablestore", "is this tablestore", "tablestore is cool", "this" e "is".

Query

Tipo da consulta. Defina este parâmetro como MatchQuery.

Operator

Operador lógico. O padrão é OR, indicando que uma linha atende aos critérios quando o valor da coluna contém pelo menos o número mínimo de tokens correspondentes.

Ao definir o operador como AND, a linha só atenderá à consulta se o valor da coluna contiver todos os tokens.

MinimumShouldMatch

Quantidade mínima de tokens correspondentes exigidos no valor da coluna.

O sistema retorna uma linha apenas se o valor da coluna consultada contiver pelo menos o número mínimo de tokens definidos.

Nota

Use o parâmetro MinimumShouldMatch em conjunto com o operador lógico OR.

TableName

Nome da tabela de dados.

IndexName

Nome do índice de pesquisa.

GetTotalCount

Define se o total de linhas que atendem aos critérios de consulta deve ser retornado. Valor padrão: false, indicando que a contagem total não é retornada.

Definir este parâmetro como true pode comprometer a performance da consulta.

ColumnsToGet

Especifica se todas as colunas das linhas correspondentes devem ser retornadas. É possível configurar os parâmetros ReturnAll, Columns e ReturnAllFromIndex.

Por padrão, ReturnAll é false, o que significa que apenas as colunas de chave primária são retornadas. Para retornar colunas adicionais, use uma das seguintes opções:

  • Defina Columns para especificar quais colunas retornar.

  • Defina ReturnAllFromIndex como true para retornar todas as colunas presentes no índice de pesquisa.

Defina ReturnAll como true para retornar todas as colunas da tabela de dados.

Exemplo

O código de exemplo abaixo demonstra como consultar linhas na tabela de dados onde o valor da coluna Text_type_col corresponde a "SearchIndex".

/// <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. 
}

FAQ

Referências

  • Ao usar um índice de pesquisa para consultar dados, utilize os seguintes métodos: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query e exists query. Combine diferentes métodos para consultar dados sob múltiplas dimensões, conforme as necessidades do seu negócio.

    Utilize os recursos de ordenação e paginação para classificar ou paginar as linhas que atendem aos critérios de consulta. Para mais informações, consulte Ordenação e paginação.

    Use o recurso de collapse (distinct) para agrupar o conjunto de resultados com base em uma coluna específica. Dessa forma, dados do tipo especificado aparecem apenas uma vez nos resultados da consulta. Para mais informações, consulte Collapse (distinct).

  • Para analisar dados em uma tabela, utilize o recurso de agregação da operação Search ou execute instruções SQL. Isso permite obter valores mínimos e máximos, somas e contagens totais de linhas. Para mais informações, consulte Agregação e Consulta SQL.

  • Caso precise obter todas as linhas correspondentes sem ordenação, chame as operações ParallelScan e ComputeSplits para utilizar o recurso de varredura paralela. Para mais informações, consulte Varredura paralela.