Todos os produtos
Search
Central de documentação

Tablestore:Term query

Última atualização: Jul 25, 2026

Uma consulta de termo com o Tablestore SDK for Java identifica valores de campo ou tokens exatamente iguais ao termo pesquisado e retorna as linhas correspondentes ou a contagem total.

Pré-requisitos

Instale o Tablestore SDK for Java e inicialize o cliente.

Descrição do recurso

A consulta de termo identifica conteúdo em um campo especificado que seja exatamente igual ao termo pesquisado. Em campos não textuais, como Keyword e Long, todo o valor do campo deve ser idêntico ao termo da consulta. Já em um campo Text (consulte String types), a linha corresponde se qualquer token gerado pelo analisador for exatamente igual ao termo pesquisado. O próprio termo da consulta não passa por tokenização.

Nota

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

Para chamar search, defina o tipo de consulta como TermQuery 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, retornando até 10 linhas e o número total de linhas correspondentes.

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

TermQuery termQuery = new TermQuery();
termQuery.setFieldName("category");
termQuery.setTerm(ColumnValue.fromString("books"));

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(termQuery);
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 busca

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 busca.

searchQuery (obrigatório)

SearchQuery

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

columnsToGet (opcional)

SearchRequest.ColumnsToGet

Configurações das colunas retornadas. 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, o que significa que nenhum tempo limite específico será definido.

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 da consulta. Defina este parâmetro como TermQuery para executar uma consulta de termo.

offset (opcional)

Integer

Posição inicial da consulta.

limit (opcional)

Integer

Número máximo de linhas a serem retornadas. 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 detalhes de configuração, consulte Summary and highlighting.

collapse (opcional)

Collapse

Configurações de agrupamento de campo, que deduplicam resultados com base em um campo especificado. Para detalhes de configuração, consulte Collapse query results.

sort (opcional)

Sort

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

trackTotalCount (opcional)

int

Contagem máxima esperada de linhas correspondentes. 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 detalhes de configuração, consulte Aggregation.

groupByList (opcional)

List<GroupBy>

Configurações de agrupamento. Para detalhes de configuração, consulte Aggregation.

token (opcional)

byte[]

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

Condição de consulta

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

Nome

Tipo

Descrição

fieldName (obrigatório)

String

Nome do campo indexado a ser consultado.

term (obrigatório)

ColumnValue

Termo da consulta. Para um campo Text, o valor inteiro é usado como um único termo e não sofre 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. Quanto maior o valor, maior a contribuição dessa 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 é utilizado para classificar 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 serem retornadas. Defina este parâmetro somente se returnAll e returnAllFromIndex forem ambos false. Caso omitido, apenas as colunas de chave primária serão retornadas.

returnAll (opcional)

boolean

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

returnAllFromIndex (opcional)

boolean

Especifica 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 simultaneamente.

Valores de retorno

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

Nome

Tipo

Descrição

totalCount

long

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

rows

List<Row>

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

searchHits

List<SearchHit>

Resultados da consulta. Chame getSearchHits() para obter esse valor. Se highlight estiver configurado, este campo conterá os dados das linhas juntamente com os resultados de resumo e destaque.

nextToken

byte[]

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

isAllSuccess

boolean

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