Todos os produtos
Search
Central de documentação

Tablestore:Terms query

Última atualização: Jul 25, 2026

A consulta de termos com o Tablestore SDK for Java identifica valores de campo ou tokens exatamente iguais a qualquer termo da consulta e retorna as linhas correspondentes ou sua contagem total.

Pré-requisitos

Instale o Tablestore SDK for Java e inicialize o cliente.

Descrição do recurso

A consulta de termos compara um campo especificado com vários termos de pesquisa e retorna uma linha se qualquer termo atender à condição de correspondência exata. Em campos não textuais, como Keyword e Long, o valor completo do campo deve ser exatamente igual a um dos termos da consulta. Essa combinação OR assemelha-se à condição IN do SQL. Já em um campo Text (consulte String types), a linha corresponde se qualquer token gerado pelo analisador for exatamente igual a um dos termos da consulta. Os próprios termos da consulta não passam por tokenização.

Nota

Os tokens gerados para um campo Text podem variar conforme a configuração do analisador, atualizações de algoritmo e uso do idioma. Evite usar a consulta de termos para corresponder à string original completa de um campo Text. Em vez disso, utilize uma virtual column para mapear o campo source ao tipo Keyword e consulte a coluna virtual.

Para chamar search, defina o tipo de consulta como TermsQuery e use SearchQuery para configurar o número de linhas retornadas, o rastreamento da contagem total e outros comportamentos comuns de consulta.

SearchResponse search(SearchRequest request)

O exemplo a seguir consulta linhas cujo valor do campo category seja exatamente igual a books ou games. A operação retorna até 10 linhas e o número total de linhas correspondentes.

String tableName = "example_table";
String indexName = "example_index";

TermsQuery termsQuery = new TermsQuery();
termsQuery.setFieldName("category");
termsQuery.addTerm(ColumnValue.fromString("books"));
termsQuery.addTerm(ColumnValue.fromString("games"));

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(termsQuery);
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);

SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());

Parâmetros

Solicitação de pesquisa

request é um objeto SearchRequest que contém os seguintes parâmetros:

Nome

Tipo

Descrição

tableName (obrigatório)

String

Nome da tabela.

indexName (obrigatório)

String

Nome do índice de pesquisa.

searchQuery (obrigatório)

SearchQuery

Condição de consulta e configurações gerais.

columnsToGet (opcional)

SearchRequest.ColumnsToGet

Configurações das colunas de retorno. Se este parâmetro for omitido, apenas as colunas de chave primária serão retornadas.

timeoutInMillisecond (opcional)

int

Tempo limite da consulta no nível da solicitação, em milissegundos. O valor padrão é -1, que não define um tempo limite específico para a consulta.

routingValues (opcional)

List<PrimaryKey>

Valores de chave primária para campos de roteamento personalizado. Omita este parâmetro se o índice não utilizar roteamento personalizado.

Configurações de consulta

request.searchQuery é um objeto SearchQuery que contém os seguintes parâmetros:

Nome

Tipo

Descrição

query (obrigatório)

Query

Condição de consulta. Defina este parâmetro como TermsQuery para realizar uma consulta de termos.

offset (opcional)

Integer

Posição inicial da consulta.

limit (opcional)

Integer

Número máximo de linhas a retornar. Defina este parâmetro como 0 para não retornar nenhuma linha.

highlight (opcional)

Highlight

Configurações de resumo e destaque para campos Text. Para obter detalhes, consulte Summary and highlighting.

collapse (opcional)

Collapse

Configurações de agrupamento de campo, que removem duplicatas dos resultados com base em um campo especificado. Para obter detalhes, consulte Collapse query results.

sort (opcional)

Sort

Ordem de classificação dos resultados. Para obter detalhes, consulte Sort and paginate results.

trackTotalCount (opcional)

int

Número máximo esperado de linhas correspondentes a contar. O valor padrão é TRACK_TOTAL_COUNT_DISABLED, que desativa a contagem. Defina este parâmetro como TRACK_TOTAL_COUNT para contar todas as linhas correspondentes. Um valor menor melhora o desempenho da consulta.

filter (opcional)

SearchFilter

Filtro aplicado aos resultados de query.

aggregationList (opcional)

List<Aggregation>

Configurações de agregação. Para obter detalhes, consulte Aggregation.

groupByList (opcional)

List<GroupBy>

Configurações de agrupamento. Para obter detalhes, consulte Aggregation.

token (opcional)

byte[]

Token de paginação. Defina este parâmetro com o valor nextToken da resposta anterior para continuar a leitura de linhas. Ao definir token, o SDK limpa sort, pois o token já contém as condições de classificação.

Condição de consulta

request.searchQuery.query é um objeto TermsQuery que contém os seguintes parâmetros:

Nome

Tipo

Descrição

fieldName (obrigatório)

String

Nome do campo indexado a consultar.

terms (obrigatório)

List<ColumnValue>

Termos da consulta. É possível especificar até 1.024 valores. Uma linha corresponde se qualquer termo atender à condição de correspondência exata. Para campos Text, cada valor é tratado como um termo completo, sem tokenização.

weight (opcional)

float

Peso de relevância da condição de consulta. O valor deve ser um número de ponto flutuante positivo. Valores maiores aumentam a contribuição da condição para a pontuação de relevância BM25. Este parâmetro não afeta a correspondência nem o número de linhas retornadas, influenciando a ordem dos resultados apenas quando ScoreSort classifica por pontuação de relevância. Valor padrão: 1.0.

Colunas retornadas

request.columnsToGet é um objeto SearchRequest.ColumnsToGet que contém os seguintes parâmetros:

Nome

Tipo

Descrição

columns (opcional)

List<String>

Colunas de atributo a retornar. Defina este parâmetro apenas se returnAll e returnAllFromIndex forem ambos false. Se omitido, apenas as colunas de chave primária serão retornadas.

returnAll (opcional)

boolean

Define se todas as colunas de atributo da tabela devem ser retornadas. Valor padrão: false.

returnAllFromIndex (opcional)

boolean

Define se todas as colunas de atributo indexadas devem ser retornadas. Valor padrão: false. Este parâmetro e returnAll não podem ser ambos true.

Valores de retorno

search retorna um objeto SearchResponse. A tabela a seguir descreve os campos principais:

Nome

Tipo

Descrição

totalCount

long

Número de linhas correspondentes. Chame getTotalCount() para obter o valor. O resultado depende da configuração trackTotalCount.

rows

List<Row>

Linhas retornadas pela consulta. Chame getRows() para obter o valor. A quantidade de linhas não excede limit.

searchHits

List<SearchHit>

Acertos da consulta. Chame getSearchHits() para obter o valor. Se highlight estiver configurado, este campo conterá os dados da linha, além dos resultados de resumo e destaque.

nextToken

byte[]

Token da próxima página. Chame getNextToken() para obter o valor. Se o valor não for null, defina-o como token na próxima solicitação para continuar a leitura de linhas.

isAllSuccess

boolean

Indica se todas as partições do índice foram consultadas com êxito. Chame isAllSuccess() para obter o valor. Se o valor for false, a resposta conterá resultados parciais e totalCount poderá ser inferior ao número real de linhas correspondentes.