Todos os produtos
Search
Central de documentação

Tablestore:Wildcard query

Última atualização: Jul 03, 2026

Use a consulta com curinga para realizar buscas aproximadas. Esse tipo de consulta funciona como o operador LIKE em bancos de dados e localiza dados que contêm uma palavra ou frase específica no texto.

Informações básicas

Ao executar uma consulta com curinga, use os caracteres curinga asterisco () e ponto de interrogação (?) para buscar dados. O asterisco () corresponde a uma string de qualquer comprimento no início, no meio ou no final do termo de pesquisa. O ponto de interrogação (?) substitui um único caractere em uma posição específica. A string pode começar com asterisco () ou ponto de interrogação (?). Por exemplo, ao pesquisar pela string "tablee", o termo "tablestore" será encontrado.

Para consultar dados usando *word* (equivalente a WHERE field_a LIKE '%word%' em SQL), use a consulta com curinga baseada em tokenização. Para mais informações, consulte Consulta com curinga baseada em tokenização. Essa abordagem mantém o desempenho da consulta mesmo com o aumento do volume de dados.

Nota

Para usar o operador NOT LIKE, combine a consulta com curinga com o parâmetro mustNotQueries da consulta booleana. Para mais informações, consulte Consulta booleana.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

fieldName

Nome da coluna a ser consultada.

value

String com curingas, limitada a 32 caracteres.

query

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

getTotalCount

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

Retornar a contagem total de linhas correspondentes pode afetar o desempenho da consulta.

weight

Peso da consulta. É um número de ponto flutuante positivo usado na ordenação por pontuação em pesquisas de texto completo. Um peso maior atribui uma pontuação mais alta à coluna nos resultados da consulta.

Este parâmetro altera as pontuações dos resultados retornados, mas não modifica a quantidade de resultados.

tableName

Nome da tabela de dados.

indexName

Nome do Search Index.

columnsToGet

Especifique quais colunas retornar, incluindo as configurações returnAll e columns.

Por padrão, returnAll é false, indicando que nem todas as colunas são retornadas. Nesse caso, use columns para definir as colunas desejadas. Se nenhuma coluna for especificada, apenas as colunas de chave primária serão retornadas.

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

Exemplos

O código de exemplo abaixo demonstra como consultar linhas nas quais o valor da coluna Col_Keyword corresponde ao padrão "hang*u".

/**
 * Search the table for rows in which the value of the Col_Keyword column matches the "hang*u" pattern. 
 * @param client
 */
private static void wildcardQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    WildcardQuery wildcardQuery = new WildcardQuery(); // Use WildcardQuery. 
    wildcardQuery.setFieldName("Col_Keyword");
    wildcardQuery.setValue("hang*u"); // Specify a string that contains one or more wildcard characters in wildcardQuery. 
    searchQuery.setQuery(wildcardQuery);
    //searchQuery.setGetTotalCount(true); // Specify that the total number of matched rows is returned. 

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    // You can configure the columnsToGet parameter to specify the columns to return or specify that all columns are returned. If you do not configure this parameter, only the primary key columns are returned. 
    //SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); // Specify that all columns are returned. 
    //columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Specify the columns that you want to return. 
    //searchRequest.setColumnsToGet(columnsToGet);

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

Perguntas frequentes

Referências