Todos os produtos
Search
Central de documentação

Tablestore:Suffix query

Última atualização: Jun 30, 2026

Uma consulta por sufixo (SuffixQuery) localiza dados em um índice de pesquisa que terminam com uma string específica. Por exemplo, você pode rastrear a entrega de um pacote usando os quatro últimos dígitos de um número de telefone.

Como funciona

Para executar uma SuffixQuery, especifique o valor do sufixo a ser correspondido.

Apenas o tipo de dado FuzzyKeyword oferece suporte a consultas por sufixo. O tipo FuzzyKeyword é otimizado para operações de pesquisa difusa, como SuffixQuery, PrefixQuery e wildcard query, e garante desempenho estável independentemente do volume de dados.

Nota
  • Campos do tipo FuzzyKeyword não permitem ordenação ou agregação. Se precisar ordenar ou agregar dados de um campo FuzzyKeyword, crie uma virtual column do tipo Keyword para essa finalidade.

  • Para simular uma consulta por sufixo em um campo Keyword, inverta a string durante a gravação dos dados e use uma consulta por prefixo (PrefixQuery) para buscar os dados.

API

Chame a operação Search ou ParallelScan com o tipo de consulta definido como SuffixQuery.

Parâmetros

Parâmetro

Descrição

query

Defina o tipo de consulta como SuffixQuery.

fieldName

O campo a ser correspondido.

suffix

O valor do sufixo.

getTotalCount

Especifica se o número total de linhas correspondentes deve ser retornado. O valor padrão é false.

Retornar o número total de linhas correspondentes afeta o desempenho da consulta.

weight

O peso da consulta. Este parâmetro é usado para ordenação baseada em pontuação em cenários de índice de texto completo. Um valor de peso maior resulta em uma pontuação mais alta para as linhas correspondentes. O valor deve ser um número de ponto flutuante positivo.

Este parâmetro afeta apenas as pontuações dos resultados retornados, não o número de resultados.

tableName

O nome da tabela de dados.

indexName

O nome do índice de pesquisa.

columnsToGet

As colunas a serem retornadas. Isso inclui as configurações returnAll e columns.

Por padrão, returnAll é false. Se returnAll for false, use columns para especificar as colunas a serem retornadas. Se você não especificar columns, apenas as colunas de chave primária serão retornadas.

Se você definir returnAll como true, todas as colunas serão retornadas.

Uso

Execute uma consulta por sufixo usando o console do Tablestore ou um SDK. Antes de começar, atenda aos seguintes pré-requisitos:

Usar o console do Tablestore

  1. Acesse a aba Index Management.

    1. Faça login no Table Store console.

    2. Na barra de navegação superior, selecione um grupo de recursos e uma região.

    3. Na página Overview, clique em o nome da instância ou em Instance Management na coluna Actions.

    4. Na aba Instance Details, na aba Data Table List, clique em o nome da tabela de dados ou em Index Management na coluna Actions.

  2. Na aba Indexes, localize o índice de pesquisa desejado e clique em Manage Data na coluna Actions.

    1. Por padrão, todas as colunas são retornadas. Para retornar colunas específicas, desative Retrieve All Columns e insira os nomes das colunas separados por vírgulas.

      Nota

      Por padrão, o Table Store retorna as colunas de chave primária da tabela de dados.

    2. Selecione um operador lógico: And, Or ou Not.

      Se você selecionar And, a consulta retornará dados que atendem a todas as condições especificadas. Se selecionar Or, a consulta retornará dados que atendem a pelo menos uma das condições especificadas. Se selecionar Not, a consulta retornará dados que não atendem às condições especificadas.

    3. Selecione um campo de índice do tipo FuzzyKeyword e clique em Add.

    4. Defina o tipo de consulta do campo de índice como Suffix query (SuffixQuery) e insira o valor do sufixo.

    5. Por padrão, a ordenação está desativada. Para ordenar os resultados por um campo específico, ative Enable Sorting, adicione o campo de ordenação e configure a ordem de classificação.

    6. Por padrão, a agregação está desativada. Para executar uma agregação estatística em um campo específico, ative Enable Aggregation, adicione o campo para agregação e configure as definições de agregação.

  3. Clique em OK.

    Os resultados da consulta são exibidos na aba Index Management.

Usar um SDK

O exemplo a seguir usa o Tablestore SDK for Java.

Importante
  • O recurso de consulta por sufixo é compatível com o Tablestore SDK for Java 5.17.0 e versões posteriores.

  • Antes de executar uma consulta por sufixo usando o SDK, inicialize um cliente. Para obter mais informações, consulte Inicializar um cliente Tablestore.

O exemplo a seguir mostra como consultar dados em que o valor na coluna Col_FuzzyKeyword termina com "hangzhou".

/**
 * Query for data where the value in the Col_FuzzyKeyword column ends with "hangzhou".
 * @param client
 */
private static void suffixQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    SuffixQuery suffixQuery = new SuffixQuery(); // Set the query type to SuffixQuery.
    searchQuery.setGetTotalCount(true);
    suffixQuery.setFieldName("Col_FuzzyKeyword");
    suffixQuery.setSuffix("hangzhou");
    searchQuery.setQuery(suffixQuery);
    //searchQuery.setGetTotalCount(true); // Set this to true to return the total number of matched rows.

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    // Specify the columns to return by setting the columnsToGet parameter. If you do not set this parameter, only primary key columns are returned by default.
    SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); // Set this to true to return all columns.
    columnsToGet.setColumns(Arrays.asList("Col_FuzzyKeyword")); // Set this to return specified columns.
    searchRequest.setColumnsToGet(columnsToGet);

    SearchResponse resp = client.search(searchRequest);
    //System.out.println("TotalCount: " + resp.getTotalCount()); // Print the total number of matched rows, not the number of returned rows.
    System.out.println("Row: " + resp.getRows());
}

Faturamento

A consulta de dados usando um Search Index consome throughput de leitura. Para obter mais informações, consulte Medição e faturamento do Search Index.

Perguntas frequentes

Tópicos relacionados