Todos os produtos
Search
Central de documentação

Tablestore:Perform a match phrase query

Última atualização: Jul 03, 2026

Uma consulta de frase correspondente retorna linhas apenas quando os tokens de uma coluna correspondem à palavra-chave tanto na ordem quanto na posição. Diferentemente da consulta de correspondência, as posições dos tokens são relevantes. Se a coluna de destino usar tokenização difusa, a consulta de frase correspondente apresenta latência menor que a consulta com curinga.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

FieldName

Nome da coluna a consultar. A coluna pode ser do tipo TEXT.

Text

Palavra-chave para corresponder aos valores da coluna.

Em colunas TEXT, a palavra-chave é tokenizada conforme o tipo de analisador especificado durante a criação do índice de pesquisa. Caso nenhum tipo seja definido, a tokenização de palavra única é usada por padrão.

Por exemplo, ao consultar com a frase "this is", o sistema retorna linhas como "..., this is tablestore" e "this is a table", mas não "this table is ..." ou "is this a table".

Query

Tipo de consulta. Defina como MatchPhraseQuery.

TableName

Nome da tabela de dados.

IndexName

Nome do índice de pesquisa.

GetTotalCount

Indica se o número total de linhas correspondentes deve ser retornado. Valor padrão: false. Definir este parâmetro como true reduz o desempenho da consulta.

ColumnsToGet

Colunas a retornar das linhas correspondentes. Configure usando ReturnAll, Columns ou 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 do índice de pesquisa.

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

Exemplo

O exemplo abaixo consulta linhas em que a coluna Text_type_col corresponde à frase "Tablestore SearchIndex".

/// <summary>
/// Query rows where Text_type_col matches "Tablestore SearchIndex" and return the total match count.
/// </summary>
/// <param name="otsClient"></param>
public static void MatchPhraseQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    // Set the query type to MatchPhraseQuery.
    searchQuery.Query = new MatchPhraseQuery("Text_type_col", "Tablestore SearchIndex");
    // Return the total number of matching rows.
    searchQuery.GetTotalCount = true;
    var request = new SearchRequest(TableName, IndexName, searchQuery);
    // Specify the columns to return. If not set, only primary key columns are returned.
    request.ColumnsToGet = new ColumnsToGet()
    {
        // Return all columns in the search index.
        ReturnAllFromIndex = true
        // Return specific columns.
        //Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
        // Return all columns in the matching rows.
        //ReturnAll = true
    };

    var response = otsClient.Search(request);

    // TotalCount is the number of matching rows, not the number of returned rows.
    Console.WriteLine("Total Count:" + response.TotalCount);
}

Perguntas frequentes

Referências